我对Maven2.2.1和JavaScript有一个奇怪的问题。当我试图根据我正在运行的不同配置文件过滤一个JavaScript文件时,出现问题。我的Maven的代码是接近这个:使用来自Jetty的Maven隐藏文件过滤JavaScript文件
...
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/resources</directory>
<includes>
<include>settings-file.js</include>
</includes>
<targetPath>
${build.directory}/${build.finalName}/www/wc/js
</targetPath>
</resource>
...
<profiles>
<profile>
<id>final</id>
<properties>
...
<web.setting.baseUrl>http://www.base.com</web.setting.baseUrl>
...
</profile>
</profiles>
...
我期待文件“设置 - file.js”被过滤和所有出现,例如,$ {} web.setting.baseUrl被改变,当我打电话
mvn clean install -Pfinal
但是当文件“设置 - file.js”被放在< TARGETDIR>不happend,所以我把它移到的src/main /资源期待它覆盖现有文件 - 但它仍不会发生。我解决它从原始位置删除文件,并将其放置在资源文件夹和编辑maven pom.xml文件(如清单所示)。
现在我有新的尴尬问题。当我与
mvn jetty:run
开始我的web应用程序,并导航到使用“设置 - file.js”它刹车,因为它没有看到这个文件的页面。它现在被放置在应该被正确过滤的地方,但由于某种原因,码头不可见。其他* .js文件在那里。如果我在浏览器中输入网址,我可以看到它们,但只有“settings-file.js”不可见。
我该如何解决这个问题?
这听起来像是你在处理两个不同的问题。首先是你不确定如何让Maven过滤以你想要的方式工作。第二个是jetty没有按照您期望的方式提供JavaScript文件。不确定过滤。第二个问题可能与权限有关。 – morgancodes
我只是觉得它可以和mvn码头一起工作:run-war和mvn码头:run-explode但不是mvn码头:运行时就好像最后一个码头只将原始码放到码头容器中一样。现在的问题是如何使码头:运行目标使用过滤资源? – Sasa