替换 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 属性替换 web.xml 中的值?

maven 打包时动态替换properties资源文件中的配置值

Maven过滤属性文件,替换属性值

如何用 sed 替换缩小的 javascript 文件中的多个值 [重复]

如何连接 javascript 文件并替换 HTML 中的引用?

在保持 JSON 文件完整的同时替换 Javascript 中的字符串