2012-01-25 27 views
2

我試圖通過exec-maven-plugin來執行我的獨立應用程序,但它以WIN編碼開始,而不是UTF-8。我閱讀了Java命令行密鑰-Dfile.encoding = UTF-8。如何將此屬性設置爲我的應用程序? Thanx。如何在exec-maven-plugin中設置file.encoding屬性?

Maven的POM:

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <configuration> 
       <executable>java</executable> 
       <mainClass>my.main.Class</mainClass> 
      </configuration>     
     </plugin> 
+0

命令行是:mvn exec:java –

回答

1

根據給exec-Maven的插件文件,它應該是這樣的:

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <configuration> 
      <mainClass>my.main.Class</mainClass> 
      <commandlineArgs>-Dfile.encoding=UTF-8</commandlineArgs> 
     </configuration>     
    </plugin> 
1

比更直接的方法託德(他一個人的尚酷雖然):

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <configuration> 
     <mainClass>my.main.Class</mainClass> 
     <systemProperties> 
      <systemProperty> 
       <key>file.encoding</key> 
       <value>UTF-8</value> 
      </systemProperty> 
     </systemProperties> 
    </configuration>     
</plugin> 

樣本here

4

要爲mvn exec:java集編碼,設置MAVEN_OPTS環境變量,例如:

export MAVEN_OPTS=-Dfile.encoding=utf-8 

這裏是exec-maven-plugin usage頁說:

注意:Java的目標不會產生新的進程。任何想要傳遞給執行類的虛擬機特定選項都必須使用MAVEN_OPTS環境變量傳遞給Maven虛擬機。例如。

MAVEN_OPTS = -Xmx1024m

否則考慮使用exec目標。