如何指定(或“强制”)maven jar插件以使用我的特定编码(UTF-8)?
我的构建插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<phase>package</phase>
<id>configurations-test</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classesDirectory>target/test</classesDirectory>
<forceCreation>true</forceCreation>
<finalName>${artifactId}-test</finalName>
</excludes>
</configuration>
</execution>
</executions></plugin>
我在父pom中设置编码,每个副本都使用正确的编码执行
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
我在创建Jar之前就控制了这些文件,这些文件格式正确。
注意,我在配置中尝试了很多针对addind特定的编码,但它仍然不起作用,在我打包的Jars中,我发现了不合格的字符(比如é,应该是é)
解压缩的文件(html,xml,属性等)包含类似é而不是é的字符。
答案 0 :(得分:0)
jar不会弄乱你的文件。它只是复制字节。另一方面,资源插件可能。
您需要设置${project.build.sourceEncoding}
。
请参阅http://maven.apache.org/plugins/maven-resources-plugin/copy-resources-mojo.html。
答案 1 :(得分:0)
指定UTF编码属性:
<properties> <project.build.sourceEncoding>UTF</project.build.sourceEncoding> </properties>
警告,当我使用UTF编码部署到wls 10.3.6时,我遇到了以下错误,不确定其他人。
java.lang.UnsupportedOperationException:不支持的存档类型: 邮编:/oracle/fmwhome/user_projects/domains/dev_soa_osb/servers/AdminServer/tmp/_WL_user/myicarus-201609261658/131q4y/war/WEB-INF/lib/dummybean-spring-1.0.0.jar /
不确定如何配置wls来读取utf zips
所以现在我使用ASCII作为编码,wls不会抱怨