Команда mvn package не запускается успешно после команды mvn clean, если выполняется из командной строки - PullRequest
0 голосов
/ 07 апреля 2011

Привет Я получаю странную ошибку, когда запускаю команду 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 ]

2 голосов
/ 07 апреля 2011

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

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

2 голосов
/ 07 апреля 2011

В сообщениях об ошибках содержится подсказка:

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

1 голос
/ 07 апреля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...