2010-11-19 86 views
1

如何指定(或「強制」)maven jar插件以使用我的特定編碼(UTF-8)?Maven Jar編碼問題

我生成插件:

<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之前controled文件執行,這些格式很好。

注意,我做了很多嘗試addind特定編碼的配置,但它仍然是行不通的,在我的包裝瓶,我發現不適格式化字符(如©,這應該是é)

解壓後的文件(html,xml,屬性等)包含像é這樣的字符而不是é。

+0

你什麼意思,你找到的字符在罐?你的jar裏有什麼文件?一類? XML?屬性? jar文件的文件名? – bmargulies 2010-11-19 13:18:49

+0

當我解壓縮結果罐時,這些文件格式不正確。 – 2010-11-19 13:21:06

+0

解壓縮後的文件(html,xml,屬性等)包含諸如é的字符,而不是é – 2010-11-19 13:23:10

回答

0

jar不會弄亂你的文件。它只是複製字節。另一方面,資源插件可能。您需要設置${project.build.sourceEncoding}

請參閱http://maven.apache.org/plugins/maven-resources-plugin/copy-resources-mojo.html

+0

$ {project.build.sourceEncoding}已設置。複製資源運行良好,文件格式良好複製。在我的例子中,進入目標/測試文件是正確的,但在結果jar壓縮文件格式不正確 – 2010-11-19 13:31:27

+0

得到它,似乎有些文件仍然在存儲庫中編碼爲ISO-8859-1。我必須找到它們,將編碼更改爲UTF-8並且一切正常 – 2010-11-19 13:46:36

+0

我很抱歉,我誤解了與您設置的屬性不同的屬性,不一樣。 – bmargulies 2010-11-19 19:37:25

0

指定UTF編碼屬性:

<properties> 
    <project.build.sourceEncoding>UTF</project.build.sourceEncoding> 
</properties> 

被警告,我已經經歷了以下錯誤,當我使用UTF編碼部署到WLS 10.3.6,不知道其他人。

java.lang.UnsupportedOperationException:不支持的檔案類型: 郵編:/ ORACLE/fmwhome/user_projects /域/ dev_soa_osb /服務器/ AdminServer中的/ tmp/_WL_user/myicarus-201609261658/131q4y /戰爭/ WEB-INF/LIB/dummybean彈簧-1.0.0.jar!/。

不知道如何WLS配置讀取UTF拉鍊

所以現在我使用ASCII作爲編碼,並WLS不抱怨