2010-07-01 66 views
2

我在一個持續集成服務器上設置了幾個項目,其中一些我沒有訪問權限來更改源代碼,服務器是一個linux盒子,我正在運行進入Maven編碼需要更改爲UTF8才能在盒子上編譯的問題。由於我無權修改pom文件,因此我想知道我是否可以將編譯器選項作爲命令行參數傳遞?該項目使用maven編譯器2.0,我試着通過-Denconding = UTF8沒有成功。從命令行傳遞Maven編譯器選項

回答

5

您可以使用Maven屬性「project.build.sourceEncoding」。

因此,沿着 mvn clean install -Dproject.build.sourceEncoding=UTF-8應該完成你所需要的東西。

這是在你的pom.xml的

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

等同。

編輯:作爲一個參考點,存在可用POM Element for Source File Encoding下面的鏈接表示這些屬性之間的細微差別兩個Maven的2.0和3.0

+0

這不起作用。在你參考的鏈接中提到,它可用於Maven編譯器插件從2.1開始,正如我上面所說的,POM使用2.0 – shipmaster 2010-07-01 21:05:14

+0

我會接受答案,因爲它看起來不像是有一種方法可以使用舊的編譯器插件:( – shipmaster 2010-07-06 16:20:59