在我正在做的一个项目中,我们也在使用自定义原型,以使生成新域/连接器变得更容易。在尝试编写自动化测试来验证这些原型之后,我遇到了生成这些原型的问题。由于某种原因,并非所有使用-D标志或使用交互模式提供的属性都应用于生成的pom.xml
原型看起来像like this。
运行this command会导致生成this pom.xml。它应用了属性${package}和${domainInterface}的字段,但没有应用groupId、artifactId、version和name的字段。
所以我的问题是,我做错了什么吗,是原型被破坏了,还是maven原型插件中的bug?
发布于 2012-10-25 18:00:08
我尝试通过克隆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>https://stackoverflow.com/questions/13065274
复制相似问题