gpt4 book ai didi

Maven 原型(prototype)不使用属性来创建模块名称

转载 作者:行者123 更新时间:2023-12-04 07:25:20 28 4
gpt4 key购买 nike

我创建了一个原型(prototype),您可以在其中设置 moduleName(或期望)使用
一个必需的属性 moduleName,这里是原型(prototype)元数据 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 (作为名称的开始部分),它会按预期工作。

找不到类似的问题,知道为什么它不起作用,或者如何使它起作用?

最佳答案

我找到了一个合理的解决方法。

似乎是唯一只能使用 的地方rootArtifactId 是个
<module> 中的元素原型(prototype)描述符 , 但在其他所有
可以使用的地方模块名称 属性(property)没有任何麻烦。

我做了什么:

使用 ${模块名称}

  • 模块 pom 中的 artifactId
  • 一些默认依赖
  • 主 pom 中的模块定义(<module>module-${moduleName}</module>)

  • 使用 __模块名称__
  • src/main/java & 资源中的包名

  • Artifact 描述符
  • 使用类似的修复模块名称
    模块样本 1 和模块样本 2
    (当然还有命名里面的目录
    Artifact 资源以相同的方式)。

  • 需要解决的问题 项目创建后
  • 模块目录名
  • 取出主pom中的模块元素
    包含模块样本[12]

  • 所有这些都在一个嵌入在 postcreate-pom.xml 中的 ant 脚本中
    在项目创建后运行。

    它工作顺利。

    希望它对某人有用。

    感谢所有花时间阅读我的人
    问题,托尼奥。

    关于Maven 原型(prototype)不使用属性来创建模块名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12830002/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com