Как скомпилировать .war для Java 5 / Tomcat 5.5 в Ubuntu? - PullRequest
0 голосов
/ 07 мая 2009

Я пытаюсь скомпилировать проект webtools для Java5 / Tomcat 5.5 в Ubuntu (с установленным вручную eclipse 3.4). Я установил установленный jre на java-1.5.0-sun-1.5.0.18 и уровень соответствия компилятора на 1.5. Когда я экспортирую это в файл .war и пытаюсь развернуть его в Tomcat (Windows XP, Tomcat 5.5.27, Java 1.5.0_18), я получаю следующую ошибку:

SEVERE: Error deploying web application archive Jdbc2Ei.war
java.lang.UnsupportedClassVersionError: Bad version number in .class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
...

Кто-нибудь знает, как это решить?

Ответы [ 5 ]

1 голос
/ 07 мая 2009

java.lang.UnsupportedClassVersionError: Неверный номер версии в файле .class

убедитесь, что все ваши банки скомпилированы для java5.

0 голосов
/ 07 мая 2009

Наивный: После изменения настроек проекта и перед экспортом файла WAR в Ubuntu, вы пытались принудительно скомпилировать ваши проекты (Project -> Clean ... в Eclipse)?

0 голосов
/ 07 мая 2009

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

0 голосов
/ 07 мая 2009

Если это работает в Windows, это, вероятно, связано с разницей в средах, а не с ошибкой, присутствующей в версиях JDK для Linux. Проверьте, есть ли в Linux несколько JVM (почти наверняка, так как Ubuntu поставляется с версией, отличной от Sun), и убедитесь на 110%, что вы используете ожидаемую версию для компиляции. Выдача

which javac

и

echo $JAVA_HOME; echo $JDK_HOME

из командной строки также может помочь, поскольку все это может быть использовано для поиска JDK (а также настроек, которые вы используете в вашей команде / инструменте компиляции).

0 голосов
/ 07 мая 2009

Скомпилировал его под windows, и он работает! Некоторая ошибка где-то ... будет время, когда эта проблема будет исправлена.

...