2015-07-17 3 views
0

Я пытаюсь запустить файл java.class на сервере Apache Tomcat. Я использую Maven.Apache Tomcat Servlet - Исключение из потока «main» java.lang.ClassFormatError

Я использую следующую команду:

/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25.x86_64/jre/bin/java -cp ".:/var/lib/tomcat6/webapps/my-servlet/WEB-INF/lib/*:/var/lib/tomcat6/webapps/my-servlet/WEB-INF/classes" com.myservlet.helper.MyClassFile 

Здесь ошибка:

Exception in thread "main" java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/servlet/ServletException 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:792) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2511) 
    at java.lang.Class.getMethod0(Class.java:2754) 
    at java.lang.Class.getMethod(Class.java:1657) 
    at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486) 

И моя версия Java:

java version "1.8.0_40" 
Java(TM) SE Runtime Environment (build 1.8.0_40-b25) 
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode) 

Я прочитал несколько нитей об этой ошибке, но до сих пор я не имел успеха в решении этого. Любая помощь была бы высоко оценена!

ответ

0

Что-то здесь отключено. Ваш путь каталога исполняемого Java

/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25.x86_64/jre/bin/java 

предложить OpenJDK версии 1.7, то вы утверждаете, что вы используете Oracle Hotspot JVM 1.8. Я думаю, что вы компилируете версию 1.8 Hotspot и пытаетесь использовать другую для запуска. Чтобы исправить это, используйте его последовательно. Вероятно, стандартная точка доступа, если у вас нет особых причин не делать этого.

 Смежные вопросы

  • Нет связанных вопросов^_^