2012-09-08 26 views
8

Gần đây tôi gặp phải vấn đề với Apache Tomcat 6.0.35 trên CentOS Linux. Tôi nhận lỗi -java.lang.UnsupportedClassVersionError: myApp: Không được hỗ trợ major.minor phiên bản 51.0 (không thể tải lớp myApp) Trên Linux

java.lang.UnsupportedClassVersionError: myApp : Unsupported major.minor version 51.0 (unable to load class myApp) 

Khi tôi cung cấp cho các lệnh -

java -version 

Nó Hiển

java version "1.6.0_22" 
OpenJDK Runtime Environment (IcedTea6 1.10.9) (rhel-1.28.1.10.9.el5_8-x86_64) 
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) 

Tương tự như vậy Khi tôi cung cấp cho các lệnh -

javac -version 

Nó cho thấy -

javac 1.6.0_22 

Để xác định vị trí Java tôi cung cấp cho các lệnh -

whereis java 

Đầu ra là -

java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /usr/share/man/man1/java.1.gz 

Và đối với

which java 

Nó hiển thị -

/usr/bin/java 

Cũng cho

which javac 

Output là

/usr/bin/javac 

đâu MyApp là dự án java phát triển trong Windows và tải lên các tập tin WAR trong webapp thư mục Tomcat trên Linux.

Tôi không nhận được những gì đang xảy ra? Xin vui lòng ai cũng có thể giúp tôi giải quyết vấn đề?

Xin cảm ơn trước.

Trả lời

6

Bạn cần thời gian chạy Java 7, không phải Java 6. Xem http://en.wikipedia.org/wiki/Java_class_file#General_layout để biết một số chi tiết liên quan đến điều này.

Ngoài ra, bạn cần phải tìm và/hoặc tái biên dịch mã của bạn để tương thích với Java 6.

+0

Cảm ơn ziesemer đã trả lời nhanh. Làm thế nào tôi nên làm cho cùng một phiên bản cho cả hai biên dịch và chạy môi trường? – Deepu

+0

Chúng tôi cần nhiều chi tiết hơn cho chính xác những gì bạn đang tìm kiếm.Giả sử "myApp" là thứ bạn đã viết và biên dịch, hãy đảm bảo rằng bạn đang làm điều này với Java 6 JDK thay vì Java 7 JDK - * hoặc * đảm bảo rằng thời gian chạy Java 7 có sẵn trên máy chủ mà bạn đang mong đợi chạy cái này. Nếu bạn muốn giữ mọi thứ rất đơn giản, hãy sử dụng cùng một JDK để biên dịch mã của bạn mà bạn mong muốn chạy nó với nó. – ziesemer

+0

Hi ziesemer, myApp là dự án java bị lệch trong cửa sổ và tải tệp WAR lên Linux (Vui lòng xem câu hỏi cập nhật của tôi) – Deepu

1

Hình như mã của bạn được biên soạn với JDK7?

+0

Xin chào Peter, tôi không biết chính xác. – Deepu

3

Trường hợp ngoại lệ là vì mã yor được biên dịch bằng phiên bản cao hơn so với phiên bản bạn đang cố gắng chạy nó. Trong cửa sổ máy của bạn, bạn có thể đang sử dụng windows 7 để xây dựng chiến tranh. Kiểm tra javac -version trong máy tính cửa sổ của bạn.

+0

Ya basiljames sự thật của nó, bây giờ tôi sẽ thay đổi Java của tôi trên cửa sổ. – Deepu

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