我创建了一个原型,您可以在其中设置 moduleName (或期望)使用
必需的属性 moduleName,这里是原型元数据 xml(减少,我也尝试过类似的结果)
<?xml version="1.0" encoding="UTF-8"?>
<archetype-descriptor name="modules-archetype">
<requiredProperties>
<requiredProperty key="moduleName">
</requiredProperty>
</requiredProperties>
<modules>
<module id="modules-${moduleName}-api"
dir="modules-__moduleName__-api"
name="modules-${moduleName}-api">
<fileSets>
<fileSet encoding="UTF-8">
<directory>src/main/java</directory>
</fileSet>
</fileSets>
</module>
</modules>
</archetype-descriptor>
安装生成后,moduleName值并没有在
目录名称或artifactid,结果值为
For the directory: project/module-__moduleName__-api
For the pom/artifactId: module-${moduleName}-api
该值在项目的其他一些文件上被正确替换,因此
我想没有拼写问题。
我见过很多类似的东西,但它们都使用 rootArtifactId,而且事实上
如果我使用 rootArtifactId (作为名称的开头部分),它会按预期工作。
无法找到类似的问题,知道为什么它不起作用,或者如何使它起作用?
我找到了一个合理的解决方法。
似乎是唯一只能使用的地方根工件ID is the
<module>
中的元素原型描述符,但在其他所有
您可以使用的地方模块名称财产没有任何麻烦。
我做了什么:
Use ${模块名称} in
- 模块 pom 中的artifactId
- 一些默认的依赖项
- 主pom中的模块定义
(<module>module-${moduleName}</module>)
- etc.
Use __模块名称__ in
- src/main/java & resources 中的包名称
In the 工件描述符
- 使用修复模块名称,例如
模块样本1 和模块样本2
(当然,命名里面的目录
工件资源以同样的方式)。
需要解决的问题项目创建后
- 模块的目录名称
- 取出主pom中的模块元素
包含模块样本[12]
所有这些都在嵌入 postcreate-pom.xml 的 ant 脚本中
在项目创建后运行。
而且工作很顺利。
希望它对某人有用。
感谢所有花时间阅读我的文章的人
问题,托尼奥。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)