簡體   English   中英

Maven原型插件未應用所有屬性

[英]maven archetype plugin not applying all properties

在我正在研究的項目中,我們還使用自定義原型來簡化生成新域/連接器的過程。 在嘗試編寫自動化測試來驗證這些原型后,我遇到了這些原型生成的問題。 由於某些原因,不是將使用-D標志或使用交互模式提供的所有屬性都應用於生成的pom.xml

原型看起來像這樣

運行此命令將導致生成此pom.xml 它應用了屬性${package}${domainInterface}的字段,而不是groupIdartifactIdversionname

所以我的問題是,我做錯了什么,原型是否損壞,或者是Maven原型插件中的錯誤?

我嘗試通過復制GitHub存儲庫,在本地安裝原型然后運行命令來重現此問題。

git clone https://github.com/openengsb/openengsb-framework.git
cd openengsb-framework/tooling/archetypes/domain
vim pom.xml

刪除了父pom參考,然后:

mvn clean install
mvn archetype:generate -DarchetypeGroupId=org.openengsb.tooling.archetypes -DarchetypeArtifactId=org.openengsb.tooling.archetypes.domain -DarchetypeVersion=3.0.0-SNAPSHOT -DgroupId=org.openengsb.domain -DartifactId=org.openengsb.domain.foodomain -Dversion=1.0.0-SNAPSHOT -Dname=FooDomain -DopenengsbVersion=3.0.0-SNAPSHOT -Dpackage=org.openengsb.domain.foodomain -DdomainInterface=FooDomain -DdomainName=foodomain -DinteractiveMode=false
cd org.openengsb.domain.foodomain/
cat pom.xml

渲染此pom.xml(僅將其一部分粘貼在此處):

  <properties>
    <bundle.symbolicName>org.openengsb.domain.foodomain</bundle.symbolicName>
    <bundle.namespace>org.openengsb.domain.foodomain</bundle.namespace>
    <domain.name>FooDomain</domain.name>
  </properties>

  <groupId>org.openengsb.domain</groupId>
  <artifactId>org.openengsb.domain.foodomain</artifactId>
  <version>1.0.0-SNAPSHOT</version>

  <name>FooDomain</name>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM