2016-07-15 1 views
1

Kompilieren von JSP-Dateien in JBoss 5.1 mit Java 1.8 nicht möglich. Kann normale Java-Dateien kompilieren und sogar ein Spring-Projekt ohne JSPs ausführen.Kompilieren von JSP-Dateien in JBoss 5.1 mit Java 1.8 nicht möglich

Es funktioniert ordnungsgemäß, wenn wir kompilierte Klassendateien für diese JSP-Dateien beibehalten.

Folgenden sehen Sie die Fehler, die ich immer bin, wenn ich versuche, eine JSP-Datei auszuführen:

2016-07-15 14:56:00,758 ERROR [org.apache.jasper.compiler.Compiler] (http-0.0.0.0-80-31) Compilation error 
org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException 
     at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:369) 
     at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:206) 
     at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:163) 
     at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:97) 
     at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:49) 
     at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:101) 
     at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:169) 
     at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2241) 
     at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:974) 
     at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1184) 
     at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:535) 
     at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:743) 
     at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444) 
     at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:429) 
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:335) 
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:313) 
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:300) 
     at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585) 
     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312) 
     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) 
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 
     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) 
     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 
     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567) 
     at org.apache.catalina.valves.RequestDumperValve.invoke(RequestDumperValve.java:151) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
     at java.lang.Thread.run(Thread.java:745) 
2016-07-15 14:56:01,873 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/].[jsp]] (http-0.0.0.0-80-31) Servlet.service() for servlet jsp threw exception 
org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 1 in the generated java file 
The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files 

Stacktrace: 
     at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) 
     at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) 
     at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439) 
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:335) 
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:313) 
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:300) 
     at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585) 
     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312) 
     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) 
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 
     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) 
     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 
     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567) 
     at org.apache.catalina.valves.RequestDumperValve.invoke(RequestDumperValve.java:151) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
     at java.lang.Thread.run(Thread.java:745) 

Antwort

1

Sie die Jaspis-jdt.jar von JBoss 5.1 zu entfernen haben. Sie würden in den folgenden finden:

jboss-5.1.0.GA \ server \ default \ deploy \ jbossweb.sar \ Jaspis-jdt.jar

Ich hatte ein ähnliches Problem Jasper Bibliothek mit JBoss 5.1 AS und jdk 1.8 (kein Problem mit jdk 1.7).

Ich löste das Entfernen der jasper-jdt.jar von JBoss 5.1. In meinem Projekt pom habe ich die dependecy aktualisiert Eclipse-Compiler für Java (EuGH), aber bis ich das Jaspis-jdt.jar bleibt das Problem beseitigt:

<dependency> 
     <groupId>net.sf.jasperreports</groupId> 
     <artifactId>jasperreports</artifactId> 
     <version>6.3.0</version> 
     <exclusions> 
      <exclusion> 
       <groupId>eclipse</groupId> 
       <artifactId>jdtcore</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.eclipse.jdt.core.compiler</groupId> 
     <artifactId>ecj</artifactId> 
     <version>4.5.1</version> 
    </dependency> 
1

einrichten Versuchen JAVA_HOME Umgebungsvariable zeigt auf die JDK. JBoss sollte tools.jar der Lage sein, in die classpath abholen und zu verwenden, die anstelle von JDT für die Erstellung

Verwandte Themen