исключение проекта сервлета на сервере - PullRequest
0 голосов
/ 16 июля 2011

мой проект хорошо работает на затмении, но когда я веду войну и запускаю на сервере, я даю следующее исключение:

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: Error allocating a servlet instance
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834)
    org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
    org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
    java.lang.Thread.run(Thread.java:595)


root cause 

java.lang.UnsupportedClassVersionError: Bad version number in .class file
    java.lang.ClassLoader.defineClass1(Native Method)
    java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
    java.security.AccessController.doPrivileged(Native Method)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834)
    org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
    org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
    java.lang.Thread.run(Thread.java:595)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.

Ответы [ 2 ]

1 голос
/ 16 июля 2011

Вы скомпилировали классы с версией JDK, которую ваш сервер не поддерживает.

Либо посмотрите, можете ли вы получить соответствующие JDK для обоих ваших разработчиков.окружения и вашего сервера, или попробуйте использовать параметр -target, равный javac, при сборке для целевой версии Java вашего сервера.

0 голосов
/ 16 июля 2011

JVM может запускать только файл класса, скомпилированный с использованием той же или более ранней версии компилятора Java.

UnsupportedClassVersionError произойдет, если вы используете более низкую версию JVM для запуска файла класса, скомпилированного с использованием более высокой версии Java Compiler.

Поэтому убедитесь, что ваш кот использует более высокую версию JDK, чем версия JDK, которая используется для компиляции файлов .class в вашей войне.

Вы не можете ни обновить JDK сервера Tomcat до последней версии, ни использовать ту же версию JDK, которая используется Tomcat для компиляции вашего исходного кода и сборки war

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...