Maven:通过属性或 yaml 文件在 archetype-metadata.xml 中传递 requiredProperty 值
Maven: passing requiredProperty values in archetype-metadata.xml through properties or yaml file
我想通过 archetype-metadata.xml 的 requiredProperty 使用自定义属性来生成 maven 原型 -
<requiredProperties>
<requiredProperty key="proxy-name">
<defaultValue>${proxy.name}</defaultValue>
</requiredProperty>
<requiredProperty key="proxy-desc">
<defaultValue>${proxy.description}</defaultValue>
</requiredProperty>
</requiredProperties>
但是,我的要求是使用属性文件或 yaml 文件中提供的 key:value 对来初始化这些 requiredProperty
值,这样我就可以得到这些值注入 archetype-resources
.
下自定义项目结构的 pom.xml
<properties>
<proxy-name>${proxy.name}</proxy-name>
<proxy-desc>>${proxy.description}</proxy-desc>
</properties>
我不想通过命令行或提供默认值来为这些属性提供值。当我 运行 mvn archetype:generate
命令时,我希望基于读取外部属性文件动态初始化这些 属性 值。
这可能吗?如果这个问题看起来太模糊或太初级,我提前道歉。这是我第一次处理自定义 Maven 原型。
P.S - 我已经尝试使用 yaml-properties-maven-plugin,但是这些值仍然没有填充到原型资源 pom.xml 中,它通常在初始化时取值 [=37] =] 值通过命令行。
因此,回答我自己的问题并帮助遇到同样问题的任何人:
我所做的是在 META-INF/maven
中也包含一个 archetype.xml
,它接收资源属性文件名以用于替换 archetype-metadata.xml
中的自定义值。 archetype.xml
的外观如下:
<?xml version="1.0" encoding="UTF-8"?>
<archetype>
<id>quickstart-archetype</id>
<sources/>
<resources>
<resource>archetype.properties</resource>
</resources>
</archetype>
这样 yaml-maven-properties
插件读取 yaml 文件 并在 src/main/resources
文件夹中写入一个 archetype.properties
文件,该文件还包含 archetype-resources
原型生成的文件夹结构。
如果有人需要更多说明我是如何做到这一点的,请告诉我。
我想通过 archetype-metadata.xml 的 requiredProperty 使用自定义属性来生成 maven 原型 -
<requiredProperties>
<requiredProperty key="proxy-name">
<defaultValue>${proxy.name}</defaultValue>
</requiredProperty>
<requiredProperty key="proxy-desc">
<defaultValue>${proxy.description}</defaultValue>
</requiredProperty>
</requiredProperties>
但是,我的要求是使用属性文件或 yaml 文件中提供的 key:value 对来初始化这些 requiredProperty
值,这样我就可以得到这些值注入 archetype-resources
.
pom.xml
<properties>
<proxy-name>${proxy.name}</proxy-name>
<proxy-desc>>${proxy.description}</proxy-desc>
</properties>
我不想通过命令行或提供默认值来为这些属性提供值。当我 运行 mvn archetype:generate
命令时,我希望基于读取外部属性文件动态初始化这些 属性 值。
这可能吗?如果这个问题看起来太模糊或太初级,我提前道歉。这是我第一次处理自定义 Maven 原型。
P.S - 我已经尝试使用 yaml-properties-maven-plugin,但是这些值仍然没有填充到原型资源 pom.xml 中,它通常在初始化时取值 [=37] =] 值通过命令行。
因此,回答我自己的问题并帮助遇到同样问题的任何人:
我所做的是在 META-INF/maven
中也包含一个 archetype.xml
,它接收资源属性文件名以用于替换 archetype-metadata.xml
中的自定义值。 archetype.xml
的外观如下:
<?xml version="1.0" encoding="UTF-8"?>
<archetype>
<id>quickstart-archetype</id>
<sources/>
<resources>
<resource>archetype.properties</resource>
</resources>
</archetype>
这样 yaml-maven-properties
插件读取 yaml 文件 并在 src/main/resources
文件夹中写入一个 archetype.properties
文件,该文件还包含 archetype-resources
原型生成的文件夹结构。
如果有人需要更多说明我是如何做到这一点的,请告诉我。