maven filter转换时容易忽略的错误

使用Maven管理,定义了Filter,配置文件中的动态值都由Filter管理。


Apache Maven 3.0

maven-compiler-plugin?2.3.1

maven-resources-plugin 2.4.3

maven-jetty-plugin ?6.1.25



发现一个疑似bug:

在配置文件中有

<email>[email protected]</email>此时使用mvn compile、package都可以得到正确结果,但Eclipse插件、jetty引发的编译会出现Filter转换错误的情况,包含email地址的文件不能正确转义。

原因是maven-resources-plugin的默认delimiter包括?${*}和@,邮件地址恰好包含了关键字,造成转换问题(质疑使用@的原因),在pom.xml中修改默认delimiter定义


<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<delimiters>
<delimiter>${*}</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
去掉@分割后一切正常
【转载地址】http://old.uplook.cn/biancheng/137/1374276/

猜你喜欢

转载自hck.iteye.com/blog/1849367