ton*_*nio 8 maven maven-archetype
我创建了一个原型,你可以使用必需的属性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>
Run Code Online (Sandbox Code Playgroud)
安装和生成后,目录名称或artifactid中不使用moduleName值,resuting值为
For the directory: project/module-__moduleName__-api
For the pom/artifactId: module-${moduleName}-api
Run Code Online (Sandbox Code Playgroud)
该值在项目的其他一些文件中被正确替换,因此我猜没有拼写问题.
我见过很多类似的东西,但是所有这些都使用了rootArtifactId,事实上如果我使用rootArtifactId(作为名称的起始部分),它会按预期工作.
无法找到类似的问题,任何想法为什么它不工作,或如何使其工作?
查看 maven-archetype 源(版本 2.2),似乎唯一可能使用的值是从 DefaultFilesetArchetypeGenerator 中提取的 rootArtifactId
while (subprojects.hasNext() ) {
ModuleDescriptor project = subprojects.next();
File moduleOutputDirectoryFile = new File( outputDirectoryFile
, StringUtils.replace( project.getDir()
, "__rootArtifactId__"
, rootArtifactId
));
...........
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7406 次 |
最近记录: |