替换 JavaScript 文件中的 Maven Archetype 属性
Posted
技术标签:
【中文标题】替换 JavaScript 文件中的 Maven Archetype 属性【英文标题】:Replace Maven Archetype property in JavaScript file 【发布时间】:2014-09-02 03:38:03 【问题描述】:我正在尝试为 Java Web 应用程序创建一个 Maven Archetype,并且我有一些我希望它生成的 javascript 文件。是否可以在 JavaScript 文件中使用 Maven Archetype 属性,以便在生成时将其替换为定义的值?
example.js
#set( $symbol_escape = '$' )
var name = "$artifactId"
上述方法似乎不起作用。我也尝试过其他属性。似乎它只是不受支持。可能是因为与“$”发生冲突的可能性?
最终生成的 example.js 文件只包含文本“$artifactId”,而不是用属性 artifactId 的值替换它。
我正在使用 Maven Archetype 插件/扩展版本 2.2。
archetype-metadata.xml
...
<fileSet filtered="true" encoding="UTF-8">
<directory>src/main/javascript</directory>
<includes>
<include>**/*.js</include>
</includes>
</fileSet>
JS 路径:src/main/javascript/my/package/name/example.js
【问题讨论】:
也许你的javascript应该进入src/main/resources/archetype-resources/src/main/javascript
【参考方案1】:
你应该添加一个
<build>
...
<resources>
<resource>
<directory>src/main</directory>
<filtering>true</filtering>
<includes>
<include>**/*.js</include>
</includes>
</resource>
</resources>
...
在你的 pom.xml 中
【讨论】:
以上是关于替换 JavaScript 文件中的 Maven Archetype 属性的主要内容,如果未能解决你的问题,请参考以下文章
maven 打包时动态替换properties资源文件中的配置值
如何用 sed 替换缩小的 javascript 文件中的多个值 [重复]