我已经使用maven插件成功创建了我的css和javascript文件的缩小/压缩版本
但是现在我想要替换加载所有这些文件的主html页面部分,我的意思是我在我的HTML中有这个
<link rel="stylesheet" href="styles/app/01.css">
<link rel="stylesheet" href="styles/app/02.css">
<link rel="stylesheet" href="styles/app/03.css">
我需要用这样的东西替换
<link rel="stylesheet" href="styles/app/minified.css">
在javascript部分我有这个
<script src="scripts/01.js"></script>
<script src="scripts/02.js"></script>
<script src="scripts/03.js"></script>
我需要替换为
<script src="scripts/minified.js"></script>
有没有办法用maven做到这一点?还是我需要别的东西?
答案 0 :(得分:0)
我发现com.google.code.maven-replacer-plugin取得了一些成功。这是我到目前为止所做的事情
首先,我用&#34;标记&#34;
包围了我的样式和脚本<!-- replaceCSS -->
<link rel="stylesheet" href="styles/app/01.css">
<link rel="stylesheet" href="styles/app/02.css">
<link rel="stylesheet" href="styles/app/03.css">
<!-- replaceCSSEnd -->
...
...
...
<!-- replaceJS -->
<script src="scripts/01.js"></script>
<script src="scripts/02.js"></script>
<script src="scripts/03.js"></script>
<!-- replaceJS -->
在我的pom中我已经包含了插件
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<file>target/${project.build.finalName}/app/index.html</file>
<replacements>
<replacement>
<token>(?m)<!-- replaceCSS(.|\s)*?replaceCSSEnd --></token>
<value><link rel="stylesheet" type="text/css" href="styles/styles.css"/></value>
</replacement>
<replacement>
<token>(?m)<!-- replaceJS(.|\s)*?replaceJSEnd --></token>
<value><script src="scripts/scripts.js"/></value>
</replacement>
</replacements>
</configuration>
</plugin>
当我运行构建,或者使用mvn replacer测试替换时:替换我得到一个类似
的异常 at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
但它只发生在我有两个替换标签时,如果我只留下一个用于css文件,它工作正常,替换是正确的
另一件事是,在战争打包后更换正在进行,这显然是错误的