Dee*_*ali 2 archetypes maven maven-archetype
我想将参数传递给原型资源> src>主文件夹中的文件。所以我在archetype-metadata.xml中声明了required属性为
<requiredProperties>
<requiredProperty key="myParam">
<defaultValue>default-value</defaultValue>
</requiredProperty>
</requiredProperties>
Run Code Online (Sandbox Code Playgroud)
并在原型文件中使用了$ {myParam},但其值未替换。为什么?
如果我在原型项目的pom.xml中使用自定义值,则所得项目将$ {myParam}的值替换为myValue。它可以正常工作,但不适用于原型文件夹中的文件。为什么?
您需要告诉Velocity引擎,您的文件应被用作Velocity模板(这样它将实际上替换它在文件中找到的所有属性)。为此,您可以扩展archetype-metadata.xml文件并定义一个fileSet。
我不确定您的确切文件夹结构以及所涉及文件的名称是什么,但是可以使用以下几行方法:
<?xml version="1.0" encoding="UTF-8"?>
<archetype-descriptor name="basic">
<requiredProperties>
<requiredProperty key="myParam">
<defaultValue>default-value</defaultValue>
</requiredProperty>
</requiredProperties>
<fileSets>
<fileSet filtered="true" packaged="false">
<directory>src/main</directory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
</fileSets>
</archetype-descriptor>
Run Code Online (Sandbox Code Playgroud)
基本上,以上是告诉它在之下包含所有文件,src/main而重要的部分filtered=true将导致所有属性被替换。
| 归档时间: |
|
| 查看次数: |
2023 次 |
| 最近记录: |