替换JavaScript文件中的Maven原型属性

33

我正在尝试为Java Web应用创建一个Maven原型,并且我有一些JavaScript文件希望它生成。是否可以在JavaScript文件中使用Maven原型属性,以便在生成时被定义的值替换掉?

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


2
也许你的Javascript应该放在src/main/resources/archetype-resources/src/main/javascript目录下。 - roby
1个回答

1

你应该添加一个

<build>
 ...
    <resources>
        <resource>
            <directory>src/main</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/*.js</include>
            </includes>
        </resource>
    </resources>
 ...   

在你的pom.xml文件中

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接