다중 모듈 프로젝트에서 test-jar
종속성을 사용하는 데 문제가 있습니다."mvn compile"에 "test-jar"종속성이 필요합니다
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
Missing:
----------
1) org.cleartk:cleartk-token:test-jar:tests:0.7.0-SNAPSHOT
:
<modelVersion>4.0.0</modelVersion>
<groupId>org.cleartk</groupId>
<artifactId>cleartk-syntax</artifactId>
<version>0.5.0-SNAPSHOT</version>
<name>cleartk-syntax</name>
...
<dependencies>
...
<dependency>
<groupId>org.cleartk</groupId>
<artifactId>cleartk-token</artifactId>
<version>0.7.0-SNAPSHOT</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
은 내가 받는다는 2를 사용
mvn compile
을 다음과 같은 오류를 실행 얻을 경우 : 나는
cleartk-syntax
모듈이
cleartk-token
모듈의
test-jar
이 같은에 의존한다는 것을 선언 할 때 예를 들어, (전체 코드는
here입니다) 내가 받는다는 3를 사용하는 경우
내가 오류 얻을 : 후자의 경우
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.654s
[INFO] Finished at: Mon Jan 24 21:19:17 CET 2011
[INFO] Final Memory: 16M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project cleartk-syntax: Could not resolve
dependencies for project org.cleartk:cleartk-syntax:jar:0.5.0-SNAPSHOT: Could
not find artifact org.cleartk:cleartk-token:jar:tests:0.7.0-SNAPSHOT
을, 나는 파이야 나는 타입이 아닌 test-jar
타입의 인공물을 찾아야한다고 생각했기 때문에 혼란 스러웠다.
maven 2 또는 maven 3을 사용하면 mvn compile package -DskipTests
을 실행하여 컴파일 할 수 있습니다. Maven 3에서는 mvn compile test-compile
을 실행하여 컴파일 할 수 있습니다.
그러나 compile
단계에서 maven 2 또는 maven 3이 test-jar
종속성을 찾는 이유는 무엇입니까? 그러한 종속성을 찾기 위해 test-compile
단계가 될 때까지 기다려야하지 않습니까?
업데이트 : 대답은 내 컴파일 단계에서 사용 된 maven-exec-plugin이 requires dependency resolution of artifacts in scope:test 인 것입니다. 나는 a feature request to remove the scope:test dependency을 만들었습니다.
나는 첫 번째 테스트 단계가 테스트 컴파일임을 확인했다. 프로세스 테스트 리소스가 실패합니다. –
나는이 버그에 부딪치지 않고 혼자가 아니라는 소식을 듣고 기쁘다. 귀하의 경우에는'exec : java' 플러그인을 사용하고 있습니까? 저에게 문제의 일부로 보입니다. 그렇지 않은 경우 다른 플러그인을 실행 단계에 바인딩합니까? – Steve
최근에 발견했지만 아직 풀지 않은 것은 3 개의 POM 파일 집합이 매우 줄어들어 문제가 발생할 수 있다는 것입니다. 이 세 가지 (내 프로젝트)가 아무 것도 상속하지 않으면 작동합니다. org.apache에서 상속받은 경우 : 아파치가 중단됩니다. 그래서 거기에 정의 된 플러그인 중 하나가 아마 그것을 어기는 것입니다. 거기에 exec : java 플러그인은 없지만 플러그인과 exec 중 하나는 아마도 상류에서 고장난 다른 것에 의존 할 것입니다. 내가 범위를 좁힐 수 있다면 여기에 설명하겠습니다. –