2013-10-25 5 views
3

내 아키타 입을 통해 이름에 두 개의 변수가 함께 연결된 xml 파일을 만들고 싶습니다.Maven 2 Archetype 생성 : 폴더/파일 이름의 변수 연결 방법

예 : 원형-metadata.xml

<requiredProperties> 
    <requiredProperty key="category"/> 
    <requiredProperty key="description"/> 
</requiredProperties> 

지정된 카테고리 = "MyCategory"과 설명 = "인 mydescription"내 파일 "MyCateogryMyDescription.xml"라는 이름 싶다. "MyCategory-MyDescription.xml"이 아니며이 둘 사이에 뭔가가 있습니다.

이상하고 구체적인 비경쟁적인 요구 사항의 이유는 필자가 만지기를 원치 않는 표준과 분명히 역 호환성이 있다는 것입니다.

첫 번째 시도는 명백한 __category ____ 설명 __. xml 이었지만 생성 된 파일의 이름은 "MyCategory__description __. xml"입니다. __category __-__ description __. xml과 같이 대시를 쓰면 그 사이에 뭔가를 추가하면 "MyCategory-MyDescription.xml"로 올바르게 해석되지만 이전에 말했던 것처럼 원하는 것은 아닙니다.

+0

지금 같은 문제가 있습니다. 한편으로 이것에 대한 해결책을 찾았습니까? –

+0

아직 해결책을 찾지 못했지만 Maven Archetype 코드에 문제가 있습니다. 정규 표현식 인 '__. * __'을 사용합니다.이 표현은 탐욕스럽고 앞부분의 밑줄을 잃어 버립니다. 정규식은. *을 '밑줄 없음'과 같이 '__^[_] __' '과 (과) 비슷한 것으로 바꿔야합니다. 그러나 누군가는 수년 전에 이와 같은 문제를 제출했으나 메인 릴리스에 포함시키지 않았습니다. 지금 아래의 작문법을 시도해보고 효과가 있는지 살펴 보겠습니다. –

답변

3

당신은 기본 값 (보통 $ {...} 표기법에 의해 즉 접근)을 설명카테고리 태그 값의 조합에 해당하는 추가 requiredProperty을 정의 할 수 있습니다.

따라서, 위의 인용 예를 고려, 당신은 원형-metadata.xml 파일에

<requiredProperties> 
    <requiredProperty key="category"/> 
    <requiredProperty key="description"/> 
    <requiredProperty key="categoryDescriptionComposition"> 
     <defaultValue>${category}${description}</defaultValue> 
    </requiredProperty> 
</requiredProperties> 

을 다음 코드를 삽입 할 수있는 마지막 __categoryDescriptionComposition __. XML로 파일 이름을 지정합니다.

+0

감사합니다! 옛날 회신에 대해 유감스럽게 생각하니 오래 전에 생각났습니다. 전에 정말로 대답 했어야 해 ... – faustool