使用Maven从Jetty隐藏文件过滤JavaScript文件
我对Maven2.2.1和JavaScript有一个奇怪的问题。当我试图根据正在运行的不同配置文件过滤一个JavaScript文件时,出现了这个问题。我的Maven代码如下:使用Maven从Jetty隐藏文件过滤JavaScript文件,javascript,maven-2,jetty,Javascript,Maven 2,Jetty,我对Maven2.2.1和JavaScript有一个奇怪的问题。当我试图根据正在运行的不同配置文件过滤一个JavaScript文件时,出现了这个问题。我的Maven代码如下: ... <resource> <filtering>true</filtering> <directory>${basedir}/src/main/resources</direct
...
<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>
...
但是,当文件“settings file.js”放入时,它不会发生,所以我将其移动到src/main/resources,希望它覆盖现有的文件,但它仍然不会发生。我通过从原始位置删除文件并将其放在resources文件夹中并编辑maven pom.xml文件(如清单所示)解决了这个问题
现在我有了新的棘手问题。当我用启动web应用程序时
mvn jetty:run
并导航到使用“settings file.js”的页面,因为它没有看到该文件,所以会停止。现在,它被放置在应该被过滤的地方,但由于某种原因,码头不可见。还有其他*.js文件。如果我在浏览器中键入它们的url,我可以看到它们,但只有“settings file.js”不可见
我如何解决这个问题 在maven web应用程序中,javascript文件通常位于
src/main/webapp
下,要过滤这些文件,您必须配置war插件的webResources
配置。默认目标是war文件的根
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1</version>
<configuration>
<webResources>
<resource>
<filtering>true</filtering>
<directory>src/main/webapp</directory>
<includes>
<include>settings-file.js</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
org.apache.maven.plugins
maven战争插件
2.1
真的
src/main/webapp
settings-file.js
听起来您在处理两个不同的问题。首先,您不确定如何让maven过滤按您希望的方式工作。第二个问题是jetty没有按照您期望的方式提供javascript文件。不确定过滤的情况。第二个问题可能与权限有关。我只是认为它可以与mvn jetty:run war和mvn jetty:run explode一起使用,但不能与mvn jetty:run一起使用,就好像最后一个问题只将原始代码放入jetty容器一样。现在的问题是如何使jetty:run目标使用过滤后的资源?不,这并不能使mvn jetty:run正确工作。但是,该文件现在对上下文可见,但未被过滤。嘿,它有所帮助,但并不完全有效。请参阅我的下一篇文章以获得解释。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1</version>
<configuration>
<webResources>
<resource>
<filtering>true</filtering>
<directory>src/main/webapp</directory>
<includes>
<include>settings-file.js</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>