2013-05-13 1 views
4

나는 명령 행에서 실행 가능한 Maven 프로젝트를 가지고 있으며, 일부 스크립트에서 실행하기 위해 mvn exec:java을 사용할 계획이었다. 이 프로젝트는 플러그인 유형 아키텍처에서 다른 프로젝트와 상호 작용할 수 있으므로 명령 줄에서로드 할 플러그인을 지정하고 싶습니다. 플러그인은 핵심 코드와 독립적으로 개발되었으므로 가능한 경우 핵심 프로젝트의 pom에서 참조 할 필요가 없습니다.추가 Maven 종속성을 명령 줄에 지정할 수 있습니까?

exec에서 Maven 플러그인 구성이 원하는 것일 수 있지만, 명령 줄에서 지정할 수있는 것처럼 보이지 않습니다. executableDependency 것 같습니다.

+0

나는 그것을 믿을 수 없어 현재 가능하다 . 하지만 아마도 exec 플러그인에 대한 패치가 가능합니다 : http://svn.codehaus.org/mojo/trunk/mojo/exec-maven-plugin – akostadinov

답변

2

아마도 Maven profiles을 사용할 수 있습니다. 다양한 유스 케이스에 대해 서로 다른 프로파일을 사용하고 프로파일 명령 행을 활성화하십시오. 프로파일에는 해당 프로파일이 활성화 된 경우에만 사용되는 종속성 및 플러그인이 포함될 수 있습니다.

+0

그건 좋은 생각입니다.하지만 모든 목록을 중앙 집중식으로 나열하는 것을 피하고 싶습니다. 플러그인이 많기 때문에 다른 팀에서 개발했습니다. 그들은 모두 공통의 부모 pom을 공유하지만, 플러그인 러너를 부모 pom으로 가져 오는 프로필을 추가하면 플러그인 자체에서 호출 된'mvn -Prun-plugin '이 작동합니다. 감사! –

2

(플러그인의 컨텍스트가 아닌) 다소 비슷한 문제가 발생했습니다. 가능한 한 믿을 수 없습니다.

내가 다시 다음 빠른 해결책을 찾아야하고, pom.xml에 속성을 사용 않았다

<dependency> 
    <groupId>${mygid}</groupId> 
    <artifactId>${myaid}</artifactId> 
    <version>${myver}</version> 
</dependency> 

그리고이 좋아하는 실행됩니다 :

mvn -Dmygid=junit -Dmyaid=junit -Dmyver=4.11 clean package 
관련 문제