2016-05-02 18 views
10

Chúng tôi có một ứng dụng JavaEE kế thừa chạy trên JBoss 6.1. Khi chạy JBoss6 với Java 1.8.0_92, chúng ta sẽ gặp phải lỗi sau. Hãy giúp tôi giải quyết hoặc đưa ra một số gợi ý về lỗi này.Không thể biên dịch tệp JSP với JDK1.8.0_92

16:49:32,888 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/webSSO].[jsp]] 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) [:6.1.0.Final] 
     at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) [:6.1.0.Final] 
     at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:446) [:6.1.0.Final] 
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) [:6.1.0.Final] 
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) [:6.1.0.Final] 
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) [:6.1.0.Final] 
     at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:607) [:6.1.0.Final] 
     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312) [:6.1.0.Final] 
     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [:6.1.0.Final] 
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [:6.1.0.Final] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final] 

Lưu ý: Nó hoạt động tốt tối đa (Java 1.8.0_77)

+0

Âm thanh như quy tắc bảo mật đang được áp dụng. (Tôi không thể nghĩ ra một lý do chính đáng để JSP cần truy cập vào bất cứ thứ gì thậm chí còn phụ thuộc vào 'ObjectInputStream'.) – chrylis

+3

Tôi cũng thấy điều này với JBoss 5.1. Đừng nghĩ rằng đó là một vấn đề JBoss, nhưng thay vào đó nó là một vấn đề jdk. – user1459641

+4

Tôi có chính xác cùng một vấn đề với Tomcat 8 vì vậy nó không có vẻ là JBoss liên quan –

Trả lời

1

Như bạn thấy red hat web site jdk 1.8 chỉ hỗ trợ JBoss 6.3.3 trở lên.

+4

OK, nhưng tại sao lại có vấn đề với Java 1.8.0_91/92 nhưng không phải với 1.8.0_77? Cả hai đều là JDK 1.8. – mzjn

0

Nó hoạt động với trình biên dịch mới hơn nếu bạn biên dịch tomcat của bạn từ nguồn với nó. Bạn chỉ cần tải xuống mã nguồn và thực hiện theo các hướng dẫn xây dựng trong BUILDING.txt.

+1

Vì vậy, bạn chỉ cần "biên dịch tomcat của bạn từ nguồn"? Vui lòng giải thích tại sao đây là giải pháp phù hợp. Tại sao có một vấn đề với Java 1.8.0_91/92 nhưng không phải với 1.8.0_77? – mzjn

0

Tôi đã sử dụng phiên bản mới nhất của tomcat tức là Tomcat 9 và nó đã giải quyết được sự cố.

Các vấn đề liên quan