2014-09-26 2 views
0

아키타 입을 통해 프로젝트를 생성 한 후에 목표를 실행해야합니다. maven-archetype-plugin은 이것을 "goals"매개 변수로 지원합니다. 나는 명령 줄에서 성공적으로이 작업을 수행 할 수 있어요 :"goals"설정 매개 변수를 무시하는 maven-archetype-plugin

mvn archetype:generate -Dgoals=foo-xyz:do-xyz 

하지만 아키 타입 프로젝트의 POM 파일의 구성이 매개 변수를 추가 할 때이를 완전히 무시된다 : 내가 원하는

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-archetype-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
     <goals>foo-xyz:do-xyz</goals> 
    </configuration> 
</plugin> 

내가 플러그인에서 문제를 열기 전에 내가 바보 같은 짓을하고 있지 않은지 확인하기. "goals"는 String 매개 변수입니다. 컬렉션도 배열도 아닙니다. 플러그인의 소스 코드는 쉼표로 분리하여 배열을 만듭니다. 코드를 살펴본 후 구성 값이 아닌 명령 줄 값이 필요한 이유는 없습니다. 내가 상상할 수있는 유일한 것은 내 구성이나 archetype : generate와 같은 모조 이외의 모듈에 버그가 있다는 것입니다.

+0

'mvn archetype : generate'는 POM을 필요로하지 않습니다. 아무것도 사용하지 않고 프로젝트를 만드는 데 사용되기 때문에 (POM은 기존 POM을 읽을 수 있습니다 만 아키타 입 유형에 따라 업데이트 할 수 있습니다). 그러므로 나는 현재의 dir에있는 pom.xml이 플러그인 설정 등에 관한 한'archetype : generate'에 의해 무시되는 것으로 의심합니다. 버전을 가짜 값으로 설정하고 생성을 다시 실행하면 어떻게됩니까? 즉시 실패하거나 'foo-xyz : do-xyz' 목표를 실행하려고 시도 할 때만합니까? – misberner

+0

플러그인의 버전을 2.999로 설정했습니다. "클린 인스톨"은 어떠한 에러도 발생시키지 않고 아키 타입 프로젝트에서 작업했습니다. 그리고 위의 명령 줄도 오류없이 실행되었습니다. – kurzweil4

답변

1

죄송합니다, 이전에 게시 된 답변을 취소하십시오. 그것은 쓰레기이고 작동하지 않았다 :(

같아요

, 나는 그것이 의미하게 그것에 대해 생각이 문제에 더 좋은 해결책이 없다는 것을 인정해야합니다 : CLI에서 archetype:generate을 실행할 때, 메이븐은을 사용합니다. 아키 타입 프로젝트 자체의 POM과 전혀 관련이없는 독립-치어가 :.

[INFO] ---------------------------------------- 
[INFO] Building Maven Stub Project (No POM) 1 
[INFO] ---------------------------------------- 

이도의 실행 얻을 받는다는 - 원형 - 플러그인 오래 전에 발생 그래서 합리적인 방법이 없습니다 같아요 원형 프로젝트 POM의 구성이에서 사용되는 실제 POM에 영향을 줄 수 있습니다..

0

@misberner가 의심하는 것처럼 아키 타입 플러그인은 아키 타입 프로젝트의 POM 설정을 무시하는 것처럼 보입니다.

관련 문제