我正在使用Maven开发一个项目,并使用maven-replacer-plugin替换缩小版本的所有css / javascript文件。
我想替换它:
<!-- JSMIN js/script.min.js -->
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="js/jquery.placeholder.min.js"></script>
<script src="js/smoothscroll.js" async=""></script>
<script src="js/javascript.js"></script>
<script src="js/swfobject.js"></script>
<script src="js/player.js"></script>
<!-- END JSMIN -->
用这个:
<script src="js/script.js"></script>
与css类似。
该插件说它已将正则表达式应用于我的4个html文件,这是正确的但我看不到这些文件的更改。
以下是插件的配置
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>maven-replacer-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<basedir>${project.basedir}/src/main/webapp/</basedir>
<outputDir>test</outputDir>
<includes>
<include>**/*.html</include>
</includes>
<regexFlags>
<regexFlag>CASE_INSENSITIVE</regexFlag>
<regexFlag>MULTILINE</regexFlag>
<regexFlag>DOTALL</regexFlag>
</regexFlags>
<replacements>
<replacement>
<token><!-- JSMIN (.*) -->(.*?(\r))+.*?<!-- END JSMIN --></token>
<value><script src="$1"></script></value>
</replacement>
<replacement>
<token><!-- CSSMIN (.*) -->(.*?(\r))+.*?<!-- END CSSMIN --></token>
<value><link href="$1" rel="stylesheet" type="text/css"/></value>
</replacement>
</replacements>
</configuration>
</plugin>
正则表达式对我和我的同事来说似乎是正确的......任何帮助? 提前致谢
答案 0 :(得分:6)
http://code.google.com/p/maven-replacer-plugin/wiki/UsageWithOtherPlugins
在将文件打包成战争之前,需要在文件上运行替换程序。如果它们都在同一阶段(即prepare-package)执行,请确保在maven-replacer-plugin之前添加它。确保使用版本2.0.1或更低版本的war插件,因为常用的2.1.0+拷贝资源两次覆盖替换。使用以下war插件配置允许在打包之前修改文件。
答案 1 :(得分:0)
我已将您的代码复制粘贴到测试pom中,并且工作正常。
您确定要检查正确的文件吗?更新的文件位于/ src / main / webapp / test
微米。