상당히 간단한 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가이 작업을 “지원”하지 않는 이유는 무엇입니까? 메이븐은 그렇게하고, 그것이 제가 정말로 염려하는 전부입니다. 프로젝트에서이 오류를 어떻게 해결할 수 있습니까?
답변
알려진 문제인 것 같습니다. 이를 무시하도록 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 파일 변경을 피하기 위해 Eclipse 설정을 통해 무시 무시를 전체 작업 공간에 적용 할 수 있습니다.
이 파일을 디스크 어딘가에 저장하십시오 : https://gist.github.com/maksimov/8906462
에서 Eclipse/Preferences/Maven/Lifecycle Mappings
확인을 클릭하고이 파일을 찾아보기 :
답변
이것은 Eclipse M2E 플러그인 실행에 대한 M2E의 문제가 다루지 않습니다 .
이 문제를 해결하려면 인식하지 못하는 수명주기를 매핑하고 M2E가이를 실행하도록 지시하면됩니다.
이 안에을 추가해야 plugins
합니다 build
. 이것은 오류를 제거하고 M2E 가 POM 의 목표 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>
답변
복사 종속성, 포장 풀기, 포장 등이 프로젝트에 중요한 경우 무시해서는 안됩니다. Eclipse Indigo SR1, maven 2.2.1 <plugins>
로 <pluginManagement>
테스트를 완료 해야합니다 .
답변
그것을 무시하지 않고 작동시키기 위해 maven-dependency-plugin 용 m2e 커넥터를 설치할 수 있습니다.
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-plugin을 선택하십시오
- 즐겨
답변
위의 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>
답변
일식으로 하둡 프로젝트를로드하려고 할 때도 같은 문제가있었습니다. 위의 솔루션을 시도했지만 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>
m2e
1.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
오류 가 발생했습니다.