Maven 아키타 입된 속성의 유효성을 검사하는 방법이 있습니까? 그렇다면 어떻게?Maven 아키타 입 속성 검증
archetype-metadata.xml 파일에 custom requiredProperty가 있습니다. 값은 특정 정규식과 일치해야하며 archetype : generate 중에 유효성을 검사하고 싶습니다.
Maven 아키타 입된 속성의 유효성을 검사하는 방법이 있습니까? 그렇다면 어떻게?Maven 아키타 입 속성 검증
archetype-metadata.xml 파일에 custom requiredProperty가 있습니다. 값은 특정 정규식과 일치해야하며 archetype : generate 중에 유효성을 검사하고 싶습니다.
archetype 플러그인 또는 archetype-metadata.xml에서 유효성 검사 규칙/유형을 설정하는 방법에 대한 명시 적 지원은 없지만이 방법을 사용하면 속도를 낼 수 있으므로 얻을 수 있습니다. 그것은 몇 가지 기본적인 검증을 수행합니다. 주석이 말한대로 - 그것은 아니지만, 꽤
이 게시물을 Maven archetype required property numberUPDATE보기 ... 작동이 지금 가능하다. 위의 다른 대답을 참조하거나 https://issues.apache.org/jira/browse/ARCHETYPE-487
내가 받는다는 - 원형에서이 기능을 구현하고 풀 요구로 제출 :
https://issues.apache.org/jira/browse/ARCHETYPE-487
예 :<requiredProperties>
<requiredProperty key="pluginPackage">
<validationRegex><![CDATA[^[a-z][a-z0-9_]*(\.[a-z0-9_]+)+[0-9a-z_]$]]></validationRegex>
</requiredProperty>
<requiredProperty key="pluginId">
<validationRegex><![CDATA[^[a-zA-Z0-9-]+$]]></validationRegex>
</requiredProperty>
<requiredProperty key="pluginName">
<validationRegex><![CDATA[^([a-zA-Z_$][a-zA-Z\d_$]*\.)*[a-zA-Z_$][a-zA-Z\d_$]*$]]></validationRegex>
</requiredProperty>
<requiredProperty key="pluginProvider">
</requiredProperty>
<requiredProperty key="pluginZipFileName">
<validationRegex><![CDATA[^[^*&%\s]+$]]></validationRegex>
</requiredProperty>
<requiredProperty key="pluginVersion">
<validationRegex><![CDATA[^[0-9]+\.[0-9]+\.[0-9]+$]]></validationRegex>
</requiredProperty>
</requiredProperties>
그런 것 유효 입력을 얻으십시오 :
[INFO] Using property: groupId = com.nick
Define value for property 'artifactId': abc
Define value for property 'version' 1.0-SNAPSHOT: :
[INFO] Using property: package = com.nick
Define value for property 'pluginId' (should match expression '^[a-zA-Z0-9-]+$'): test-plugin525
Define value for property 'pluginName' (should match expression '^([a-zA-Z_$][a-zA-Z\d_$]*\.)*[a-zA-Z_$][a-zA-Z\d_$]*$'): NickTest101
Define value for property 'pluginPackage' (should match expression '^[a-z][a-z0-9_]*(\.[a-z0-9_]+)+[0-9a-z_]$'): com.nicholas.fun
Define value for property 'pluginProvider': Nicholas DiPiazza
Define value for property 'pluginVersion' (should match expression '^[0-9]+\.[0-9]+\.[0-9]+$'): 1.0
Value does not match the expression, please try again:
참고 : 아직 배치 입력을 정규식으로 정규화하지는 않습니다. 참조 : https://issues.apache.org/jira/browse/ARCHETYPE-532
자신의 라이브러리에 연결하는 것만으로는 좋은 대답이 아닙니다. 링크를 통해 왜 문제가 해결되는지 설명하고, 라이브러리를 사용하여 코드를 제공하고, 작성한 것을 부인하면 더 좋은 답을 얻을 수 있습니다. 참고 : [** 무엇이 "좋은"자기 홍보를 의미합니까? **] (http://meta.stackexchange.com/q/182212/200235) – durron597
이것은 자기 홍보가 아닙니다 ... 나는 내 자신과 연결되어 있지 않습니다. 라이브러리, 나는 질문의 저자에 의해 사용 된 원본 라이브러리에 오픈 소스 기여를 연결하고 있습니다. 그가 요구 한 기능을 정확히 구현 했으므로 더 이상의 설명은 필요하지 않습니다. – mryan
나는 링크가 절름발이라는 점에 동의합니다 (확실히 자기 홍보가 아니지만, 롤). 작업 예제와 출력이 작동하는 것을 추가했습니다. –
아쉽게도 아키타 입 (archetype)에 지정된 속성에 대한 유효성 검사를 수행 할 방법이 없습니다. 가장 좋은 방법은 필요에 따라 속성을 표시하고 기본값을 제공하는 것입니다. – Tome