2012-03-31 30 views
2

好吧,我百思不得其解, 我得到使用行家編譯編碼拼圖

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

這裏是下面的編譯錯誤

.../Currency.java:[16,60] unmappable character for encoding ASCII 

我已經在Maven的conf設置設置編碼編譯輸出

[INFO] [clean:clean {execution: default-clean}] 
[INFO] Deleting directory /export/jenkins_slave/workspace/Agent-Transfer/repo/foo-bar- api/target 
[INFO] [resources:resources {execution: default-resources}] 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] Copying 10 resources 
[INFO] [compiler:compile {execution: default-compile}] 
[INFO] Compiling 59 source files to /export/jenkins_slave/workspace/Agent- Transfer/repo/foo-bar-api/target/classes 
[JENKINS] Archiving /export/jenkins_slave/workspace/Agent-Transfer/repo/foo-bar- api/pom.xml to /export/ciserver/.hudson/jobs/Agent-Transfer/modules/com.cdc$foo-bar- api/builds/2012-03-31_14-49-02/archive/com.cdc/foo-bar-api/Agent-Transfer-SNAPSHOT/foo-bar- api-Agent-Transfer-SNAPSHOT.pom 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Compilation failure 

/export/jenkins_slave/workspace/Agent-Transfer/repo/foo-bar-api/src/main/java/com/cdc/games/domain/Currency.java:[16,60] unmappable character for encoding ASCII 

我知道編碼是從settings.xml中拾取的beca使用如果我刪除它得到編碼警告

[WARNING] Using platform encoding (ISO8859-1 actually) to copy filtered resources, i.e. build is platform dependent! 

的問題是似乎只有 - 從上面出來把日誌 - 會對資源產生影響:資源和編譯沒有:編譯。我期待從the wiki這個描述編碼的.java文件

正如你可以看到我建立這個奴隸,在它建立的主人甚至與編碼警告,但我想這是因爲平臺編碼是不同的。我可以改變對奴隸,但我寧願不是因爲我想構建是便攜式

回答

0

也許你正在使用一個編輯器,當你輸入時不承認Mavens字符編碼,它會選擇一些其他平臺或編輯器依賴編碼?它在編輯器中可能看起來很正確,但似乎有些奇怪的人物偶然潛入代碼中。您是否嘗試刪除Currency.java類中的第16行並重寫它(不使用複製/粘貼)?

+0

有一些字符串中的字符不是ascii,但我期待maven編譯插件上的UTF-8設置能夠處理它 – cdog 2012-03-31 22:17:54

0

我遇到了同樣的問題幾次支持哈德遜/詹金斯的多個實例。就我而言,事實證明,LANG env var沒有明確地設置爲en_US.UTF-8 ,哈德遜/詹金斯配置

一旦我爲hudson/jenkins安裝設置全局環境var,包含unicode字符的我的java文件停止給我一個錯誤。

0

試試這個

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.resources.sourceEncoding>UTF-8</project.resources.sourceEncoding> 
</properties> 

      <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <encoding>${project.build.sourceEncoding}</encoding> 
       <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding> 
      </configuration> 
     </plugin> 

source

,並在你的server.xml

 <Connector port="8080" URIEncoding="UTF-8"/> 
0

我假設你得到了這個工作,因爲它已經過了一年......但在

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

最後一個不正確。應該是</properties>,對嗎?