m2eclipse — загадочный сбой сборки в пакете

#package #m2eclipse

#пакет #m2eclipse

Вопрос:

Я использую Eclipse 3.6 (Helios64) и m2eclipse 0.12.1.20110112-1712. У меня есть новый проект, который содержит только два класса, которые создают jar. Когда я щелкаю правой кнопкой мыши по проекту и выбираю «Запустить как -> Пакет Maven», я получаю следующую ошибку:

 [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ switch-provisioning-rest-client --- [INFO] Compiling 2 source files to C:DevelEclipseProjectsMyProjecttargetclasses
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] Failure executing javac, but could not parse the error:
javac: invalid flag: -s
...
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
  

Когда я настраиваю конфигурацию запуска с целями «package -X», проект строится без ошибок. Если я запускаю конфигурацию с целью компиляции, она создается без ошибок, и затем я могу успешно запустить «пакет Maven».

Это единственный проект, с которым у меня возникли проблемы. Все мои другие проекты успешно строятся при выполнении «пакета Maven».

В проекте нет ничего исключительного pom.xml . Он ссылается на тот же родительский pom, что и другие проекты, и содержит зависимости, зависящие от его проекта.

У кого-нибудь есть какие-либо идеи, что может быть по-другому в этом проекте?

ТИА!

Ответ №1:

На эту проблему был дан ответ в списке рассылки m2eclipse:

http://dev.eclipse.org/mhonarc/lists/m2e-users/msg01818.html

Хотя у моего pom была версия 1.6, конфигурация проекта не была обновлена.

От: Бенджамин Бентманн

Эта проблема на самом деле не специфична для m2e, но применима к mvn в целом, поскольку такой список пользователей Maven может предоставить лучшую аудиторию для помощи.

IIRC, конкретная ошибка означает, что вы пытаетесь использовать JDK 1.5, в то время как вам нужен JDK 1.6 , где был добавлен рассматриваемый параметр javac. Предполагая, что ваш проект действительно должен компилироваться с использованием JDK 1.5, также может потребоваться понижение версии maven-compiler-plugin, я бы ожидал, что он начал использовать опцию -s при добавлении поддержки обработки аннотаций.