Java — сборка и развертывание Ant в JBoss завершается сбоем из-за ошибки UnsupportedClassVersionError
-
27-10-2019 - |
Вопрос
Я пытаюсь собрать и развернуть проект в папке развертывания JBoss с помощью встроенного сценария Maven-Ant из Eclipse, но это всегда заканчивается тем, что JBoss регистрирует следующее:
nested throwable: (java.lang.UnsupportedClassVersionError: Bad version number in .class file)
Используемое программное обеспечение для этого проекта следующее:
- Муравей 1.6.5
- Плагин Maven-Ant Tasks 2.1.3
- JBoss 4.0.5 GA
- JDK 1.4
В Eclipse в разделе «Окно»> «Настройки» я добавил JDK в Java>Installed JREs
list и на всякий случай установите его по умолчанию.Под Project>Properties>Java Compiler
Я установил уровень соответствия 1,4, а также безуспешно экспериментировал с другими настройками соответствия.
Кроме того, JBoss настроен на использование точно такого же JDK 1.4_03 с веб-сайта Oracle.Странно то, что Eclipse имеет тенденцию идентифицировать его как версию 1.5.Например, на странице компилятора Java написано:
При выборе соответствия 1.4 убедитесь, что у вас установлена и активирована совместимая JRE (в настоящее время 1.5).
Кто-нибудь может дать совет, где я мог ошибиться?
Заранее спасибо!
Решение 4
JDK, который я использовал, оказался неправильной версией. Я связался с одним из предыдущих разработчиков, и он сказал, что он определенно должен работать с JDK 1.5 Update 9, и это имело значение. Я прошел это неоднозначное сообщение об ошибке. Извините за беспорядок, ребята!
Другие советы
Это означает, что какой -то класс внутри JBoss был составлен с несовместимой (более поздней) версией Javac (имеет большее большое число), а ваш Jre Runung Jboss отказывается загружать это.
(Окончательный класс где -то на Stacktrace)
Единственное решение состоит в том, чтобы использовать более поздний JDK для запуска JBoss и Compile (1.4 довольно старый, а AFAIK больше не поддерживается)
Я бы начал искать свойства среды maven/ant.
Выбор jdk в Eclipse используется только в IDE.java_home и другие параметры, установленные в ваших свойствах maven или ant, будут использоваться для компиляции и сборки.
Я бы также проверил переменную среды JAVA_HOME, как если бы она не была явно установлена в файле свойств, она будет получена из среды.
Вы должны убедиться, что сценарий муравья также использует правильную версию; То, что вы получите предупреждение 1.5, немного тревожно-мне трудно поверить, что Eclipse неправильно определит JDK. Кроме того, имейте в виду, что JDK нет Так же, как и JRE, так что дважды проверьте свои пути/и т. Д.
Вы также должны убедиться, что все Ваши развернутые библиотеки и библиотеки JBoss составлены с 1,4-если у вашего проекта есть зависимости, вероятно, их библиотеки не составлены на 1,4.
Кроме того, говоря, что «J2EE JDK 1.4» немного запутанно, потому что Java EE и Java SE - две разные вещи, и вы не сможете запустить J2EE 1.4 под JDK 1.4, AFAIK.