2012-11-08 9 views
0

나는 메이븐 플러그인을 만들고 있는데, 사용자가 내 플러그인에 필요한 세부 사항을 지정하여 프로젝트를 만들 수있게하고 싶습니다. 나는 간단한 MVN의 원형으로 프로젝트를 만들 때 이해 : 그것의 groupId, artifactId를 요청 받는다는 기본 archtype 카탈로그를 가리키는 를 생성 등대화 형 메이븐 아키 타입 카탈로그

여기서 문제는 내가 내 자신의 사용자 정의 카탈로그를 어떻게 만듭니 까한다

그래서 나는 고객을 위해 상호 작용하는 프로젝트를 만들 수있다.

mvn archetype:generate -DarchetypeCatalog=http://abc.com/archetype-catalog.xml 

그가 다음을 볼 수있을 것 같은 내 원형 카탈로그에 클라이언트 점,

Define value for project_home: C:/XYZ 
Define value for server-url: http://localhost:8080/ 
Define value for groupId: : com.xyz 
Define value for artifactId: : sample 
Define value for version: 1.0-SNAPSHOT: : 
Define value for package: com.xyz 
Confirm properties configuration: 
project-home: C:/XYZ 
server-url: http://localhost:8080/ 
groupId: com.xyz 
artifactId: sample 
version: 1.0-SNAPSHOT 
package: com.xyz 
Y: : 

모든 포인터 또는 웹에 대한 몇 가지 링크도 도움이 될 것입니다 때.

답변

1

내가 예를 들어 pustefix - 원형 - 기본 조회 및 코드 다음 META-INF/받는다는/원형-metadata.xml에 존재 한 : 당신의 속성을 추가 할 수

<requiredProperties> 
    <requiredProperty key="groupId"> 
     <defaultValue>mytld.myorg</defaultValue> 
    </requiredProperty> 
    <requiredProperty key="artifactId"> 
     <defaultValue>myapp</defaultValue> 
    </requiredProperty> 
    <requiredProperty key="version"> 
     <defaultValue>1.0-SNAPSHOT</defaultValue> 
    </requiredProperty> 
    <requiredProperty key="package"> 
     <defaultValue>mytld.myorg.myapp</defaultValue> 
    </requiredProperty> 
    <requiredProperty key="pustefixVersion"> 
     <defaultValue>0.18.30</defaultValue> 
    </requiredProperty> 
    </requiredProperties> 

시도 :)