如何在exec-maven-plugin中设置file.encoding属性?

时间:2012-01-25 15:30:32

标签: maven utf exec-maven-plugin

我试图通过exec-maven-plugin执行我的独立应用程序,但它始于WIN编码,而不是UTF-8。我读到了Java命令行密钥-Dfile.encoding = UTF-8。如何将此属性设置为我的应用程序? 感谢名单。

maven pom:

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

3 个答案:

答案 0 :(得分:5)

要设置mvn exec:java的编码,请设置MAVEN_OPTS环境变量,例如:

export MAVEN_OPTS=-Dfile.encoding=utf-8

以下是exec-maven-plugin usage页面所说的内容:

  

注意:java目标不会产生新进程。必须使用MAVEN_OPTS环境变量将要传递给已执行类的任何VM特定选项传递到Maven VM。 E.g。

     

MAVEN_OPTS = -Xmx1024m

     

否则请考虑使用exec目标。

答案 1 :(得分:1)

根据exec-maven-plugin文档,它应该如下所示:

    <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>

答案 2 :(得分: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