Maven-dependency-плагин (цели "копировать-зависимости", "распаковать") не поддерживается m2e
у меня есть довольно простой проект Maven:
<project>
<dependencies>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/dependencies</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
однако, я получаю следующую ошибку в m2eclipse:
Description Resource Path Location Type
maven-dependency-plugin (goals "copy-dependencies", "unpack") is not supported by m2e. pom.xml /jasperreports-test line 60 Maven Project Build Lifecycle Mapping Problem
почему меня волнует, если m2eclipse не "поддерживает" эту задачу? Мэйвен знает, и это все, что меня действительно волнует. Как я могу получить эту ошибку в моем проекте, чтобы уйти?
8 ответов:
Это, кажется, известная проблема. Вы можете поручить m2e игнорировать это.
Вариант 1: pom.xml
добавьте следующее внутри вашего
<build/>теги:<pluginManagement> <plugins> <!-- Ignore/Execute plugin execution --> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <!-- copy-dependency plugin --> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <versionRange>[1.0.0,)</versionRange> <goals> <goal>copy-dependencies</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins></pluginManagement>вам нужно будет сделать Maven... - >Обновление конфигурации проекта на вашем проекте после этого.
Подробнее: http://wiki.eclipse.org/M2E_plugin_execution_not_covered#m2e_maven_plugin_coverage_status
Вариант 2: Глобальное Затмение Переопределить
чтобы избежать изменения файлов POM, переопределение ignore может быть применено ко всей рабочей области через настройки Eclipse.
Сохраните этот файл где-нибудь на диске: https://gist.github.com/maksimov/8906462
на
Eclipse/Preferences/Maven/Lifecycle Mappingsперейдите к этому файлу и нажмите кнопку ОК:
это проблема M2E для Eclipse выполнение плагина M2E не покрывается.
чтобы решить эту проблему, все, что вам нужно сделать, это сопоставить жизненный цикл, который он не распознает, и поручить M2E выполнить его.
вы должны добавить этого после
pluginsвнутриbuild. Это позволит удалить ошибку и сделать M2E распознать цельcopy-depenciesнаmaven-dependency-pluginи заставить POM работать так, как ожидалось, копируя зависимости в папку каждый раз, когда Eclipse строит его. Если вы просто хотите проигнорировать ошибку, тогда вы меняете<execute />на<ignore />. Нет необходимости заключать вашmaven-dependency-pluginнаpluginManagement, как предлагалось ранее.<pluginManagement> <plugins> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <versionRange>[2.0,)</versionRange> <goals> <goal>copy-dependencies</goal> </goals> </pluginExecutionFilter> <action> <execute /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement>
Если скопировать-зависимости, распаковка, упаковка, и т. д. важны для вашего проекта вы не должны игнорировать его. Вы должны заключить ваш
<plugins>на<pluginManagement>протестировано с Eclipse Indigo SR1, maven 2.2.1
чтобы заставить его работать, вместо того, чтобы игнорировать его, вы можете установить разъем m2e для maven-dependency-plugin:
https://github.com/ianbrandt/m2e-maven-dependency-pluginвот как бы вы это сделали в Eclipse:
- перейдите в окно / настройки / Maven / Discovery/
- введите URL каталога:http://download.eclipse.org/technology/m2e/discovery/directory-1.4.xml
- нажмите кнопку Открыть Каталог
- выберите плагин m2e-maven-dependency
- наслаждайтесь
несмотря на ответ от CaioToOn выше, у меня все еще были проблемы с получением этой работы изначально.
после нескольких попыток, наконец, получил это работает. Я вставляю свою окончательную версию здесь-надеясь, что это принесет пользу кому-то еще.
<build> <plugins> <!-- Copy all Maven Dependencies (-MD) into libMD/ folder to use in classpath via shellscript --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.8</version> <executions> <execution> <id>copy</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/libMD</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> <!-- Above maven-dependepcy-plugin gives a validation error in m2e. To fix that, add the plugin management step below. Per: http://stackoverflow.com/a/12109018 --> <pluginManagement> <plugins> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <versionRange>[2.0,)</versionRange> <goals> <goal>copy-dependencies</goal> </goals> </pluginExecutionFilter> <action> <execute /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build>
У меня была такая же проблема при попытке загрузить проект Hadoop в eclipse. Я попробовал решения выше, и я считаю, что это могло бы работать в Eclipse Kepler... даже не уверен больше (пробовал слишком много вещей).
со всеми проблемами, которые у меня были, я решил перейти к Eclipse Luna, и решения выше не работали для меня.
там был еще один пост, который рекомендовал изменить ... тег для упаковки. Я начал это делать, и это "очистит" ошибки... Тем не менее, я начинаю думать, что изменения укусят меня позже - я не эксперт по Maven.
к счастью, я узнал, как удалить все ошибки. Перейдите в окно - > настройки-> Maven - > ошибка/предупреждения и измените "выполнение плагина, не охватываемое жизненным циклом..."возможность " игнорировать". Надеюсь, это поможет.
Я знаю, что это старый пост, но я боролся сегодня с этой проблемой, и я использовал шаблон с этой страницы:http://maven.apache.org/plugins/maven-dependency-plugin/usage.html
<project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.7</version> <executions> <execution> <id>copy</id> <phase>package</phase> <goals> <goal>copy</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>[ groupId ]</groupId> <artifactId>[ artifactId ]</artifactId> <version>[ version ]</version> <type>[ packaging ]</type> <classifier> [classifier - optional] </classifier> <overWrite>[ true or false ]</overWrite> <outputDirectory>[ output directory ]</outputDirectory> <destFileName>[ filename ]</destFileName> </artifactItem> </artifactItems> <!-- other configurations here --> </configuration> </execution> </executions> </plugin> </plugins> </build> [...] </project>и все прекрасно работает под
m2e1.3.1.когда я пытался использовать
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.4</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/dependencies</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build>Я получил
m2eошибка.
другой вариант-перейти на вкладку проблемы, щелкните правой кнопкой мыши на ошибке, нажмите кнопку Применить быстрое исправление. Следует создать игнорировать xml-код и применить его .файл POM для вас.

Comments