Команда mvn package не запускается успешно после команды mvn clean, если выполняется из командной строки
Привет, я получаю странную ошибку, когда запускаю команду mvn package из командной строки после выполнения команды 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 package из eclipse IDE /m2eclipse, она прекрасно работает (даже после запуска mvn clean из IDE и командной строки). Когда я запускаю команду mvn package из командной строки с файлом WAR, уже встроенным в целевую папку, с помощью предыдущей команды mvn package, команда работает нормально, и создается файл war, который перезаписывается на ранее созданный файл war в целевой папке. Но когда я запускаю mvn clean из IDE / командной строки, а затем запускаю mvn package из командной строки, я получаю вышеуказанную ошибку, и компиляция завершается неудачно. Я хочу автоматизировать этот процесс сборки, поэтому мне нужно сделать это из командной строки.
3 ответа
Плагин Eclipse Maven также устанавливает еще одну копию Maven (ядро). Таким образом, некоторые вещи будут работать по-другому при запуске команды maven через командную строку eclipse VS. Чтобы избежать этой ситуации, настройте затмение на использование установки maven, которую вы ожидаете использовать. Окно -> Настройки -> Maven-> Установки и измените настройки так, чтобы они указывали на локальную копию, которую вы скачали.
Сообщения об ошибках дают подсказку:
используйте -source 5 или выше для включения аннотаций. Вы должны сконфигурировать плагин Compiler для использования по крайней мере Java 1.5 для компиляции.
Как уже отмечали другие авторы, вы пытаетесь скомпилировать код, совместимый с языковым уровнем 5 (Java 5) (он использует аннотации), но настройки вашего компилятора установлены для языкового уровня 1.3.
См. Установка -source и -target Java Compiler на странице maven-compiler-plugin.