Maven Jar编码问题

时间:2010-11-19 13:05:48

标签: plugins encoding utf-8 jar maven

如何指定(或“强制”)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,属性等)包含类似é而不是é的字符。

2 个答案:

答案 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不会抱怨