Команда mvn package не запускается успешно после команды mvn clean, если выполняется из командной строки

Привет, я получаю странную ошибку, когда запускаю команду пакета mvn из командной строки после выполнения команды mvn clean. Ошибка является ошибкой сбоя компиляции.

Это след:

annotations are not supported in -source 1.3
06.04.2011 17.06.59 (use -source 5 or higher to enable annotations)
06.04.2011 17.06.59 @Override at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:715)
06.04.2011 17.06.59 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
06.04.2011 17.06.59 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
06.04.2011 17.06.59 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
06.04.2011 17.06.59 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
06.04.2011 17.06.59 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
06.04.2011 17.06.59 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
06.04.2011 17.06.59 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
06.04.2011 17.06.59 at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
06.04.2011 17.06.59 at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
06.04.2011 17.06.59 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
06.04.2011 17.06.59 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
06.04.2011 17.06.59 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
06.04.2011 17.06.59 at java.lang.reflect.Method.invoke(Method.java:597)
06.04.2011 17.06.59 at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
06.04.2011 17.06.59 at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
06.04.2011 17.06.59 at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
06.04.2011 17.06.59 at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
06.04.2011 17.06.59 Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
06.04.2011 17.06.59 at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:516)
06.04.2011 17.06.59 at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
06.04.2011 17.06.59 at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
06.04.2011 17.06.59 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)

Странно то, что когда я запускаю команду пакета mvn из eclipse IDE / m2eclipse, она работает отлично (даже после запуска mvn clean из среды IDE, а также из командной строки). когда я запускаю команду пакета mvn из командной строки с файлом WAR, уже созданным в целевой папке предыдущей командой пакета mvn, команда работает нормально, и создается файл войны, который перезаписывается в ранее созданном файле войны в целевой папке. Но когда я запускаю mvn clean из IDE / командной строки, а затем запускаю пакет mvn из командной строки, он дает мне указанную выше ошибку, и компиляция не выполняется. Я хочу автоматизировать этот процесс сборки, поэтому мне нужно сделать это из командной строки.


person Aniket    schedule 06.04.2011    source источник


Ответы (3)


Плагин Eclipse maven также устанавливает еще одну копию Maven (core). Таким образом, некоторые вещи будут работать по-другому при запуске команды maven через командную строку eclipse VS. Чтобы выйти из этой ситуации, настройте eclipse для использования установки maven, которую вы ожидаете от нее. Окно -> Настройки -> Maven -> Установки и измените настройку так, чтобы она указывала на локальную копию, которую вы скачали.

person Prabhjot    schedule 07.04.2011

Сообщения об ошибках дают подсказку:

используйте -source 5 или выше для включения аннотаций. Вы должны настроить плагин Compiler для использования по крайней мере Java 1.5 для компиляции.

person khmarbaise    schedule 06.04.2011
comment
но потом как это работает нормально, когда я делаю это из IDE. Еще одна вещь: когда я не использую mvn clean до пакета mvn (это целевая папка находится в папке проекта с файлом WAR и другими папками, созданными ранее), он отлично работает даже из командной строки - person Aniket; 07.04.2011

Как начали указывать другие плакаты, вы пытаетесь скомпилировать код, соответствующий языковому уровню 5 (Java 5) (он использует аннотации), но в настройках вашего компилятора установлен уровень языка 1.3.

См. Установка -source и - цель компилятора Java на странице плагина maven-compiler-plugin.

person RonU    schedule 06.04.2011
comment
но потом как это работает нормально, когда я делаю это из IDE. Еще одна вещь: когда я не использую mvn clean до пакета mvn (это целевая папка находится в папке проекта с файлом WAR и другими папками, созданными ранее), он отлично работает даже из командной строки - person Aniket; 07.04.2011
comment
Это может помочь увидеть, какие настройки у вас есть, если таковые имеются, для maven-compiler-plugin в вашем pom.xml. Кроме того, какой уровень языка Eclipse использует для вашего проекта? Если вы используете m2eclipse, я бы предположил, что он берет настройку из pom.xml, но похоже, что он может использовать Java 1.5+ в IDE. - person RonU; 07.04.2011
comment
Спасибо, приятель .... работал у меня ....... Я добавил - ‹configuration› ‹source› 1.6 ‹/source› ‹target› 1.6 ‹/target› ‹/configuration› в подключаемом модуле компилятора mvn, как показано в ссылка выше в документации maven - person Aniket; 11.04.2011