2015-12-21 27 views
7

Trong offcial page of Tomcat nó nói rằng Tomcat 7 hỗ trợ Java 8. Nếu tôi tải xuống và chạy với Java 8 nó hoạt động.Tomcat 7 có hỗ trợ Java 8 không?

Nhưng, trên Mở rộng là Tomcat 7 (JBoss EWS 2.0). Trong this webpage nó nói rằng EWS 2.0 doesn't support Java 8. Nếu tôi triển khai ứng dụng Java 8 của tôi đến Openshift (Tomcat 7) thì nó không hoạt động.

Tại sao?


Tôi cố gắng để cài đặt Java 8 trên Tomcat 7 trên OpenShift với điều này: https://stackoverflow.com/a/23895161/2442133 Nhưng nó isnt' làm việc cho tôi. Tôi gặp lỗi:

org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping': 
Initialization of bean failed; nested exception is 
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading 
class [pl.xxx.controller.HomeController] for bean with name 'homeController'  
defined in file [/var/lib/openshift/xxx/app-  
root/runtime/dependencies/jbossews/webapps/web1/WEB- 
INF/classes/xxx/controller/HomeController.class]: problem with class file or 
dependent class; nested exception is java.lang.UnsupportedClassVersionError: 
xxx/controller/HomeController : Unsupported major.minor version 52.0 (unable to 
load class xxx.controller.HomeController) 

Unsupported major.minor version 52.0 nói rằng phiên bản Java sai (Java 7 intead Java 8).

+0

Đó là một bean Spring trong trường hợp ngoại lệ bạn trích dẫn. Nó có thể là một vấn đề mùa xuân. Bạn đang chạy phiên bản Spring nào? Tomcat trên JBOSS có thể được thay đổi từ phiên bản trên trang Apache. Tôi tin rằng JVM, chứ không phải các trích dẫn mà bạn đã liệt kê. – duffymo

+0

Tôi đang sử dụng Tomcat với Java 8, chứ không phải Spring. – EJP

+0

Đó là vì máy của họ đã cài đặt Java JRE 7. –

Trả lời

8

Lỗi Unsupported major.minor version 52.0 nói rằng bạn có tệp lớp Java 8 nhưng Java < = 7 JRE. Vì vậy, bạn đã không thành công trong việc cài đặt Java 8 cho Tomcat. Bạn có thể cần phải điều chỉnh một cái gì đó trong cấu hình Tomcat để làm cho nó sử dụng Java 8.

3

Nếu bạn tình cờ chạy Tomcat như một dịch vụ trên Windows bạn có thể cần phải thay đổi JRE tomcat sử dụng bằng cách phát hành:

tomcat7w.exe //ES/<your_service_name> 

nào nên dẫn bạn đến hộp thoại này:

enter image description here

Hãy chắc chắn rằng "sử dụng mặc định" được chọn hoặc quyền "Java Máy ảo" được sử dụng.

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