从`pom.xml`设置`file.encoding`

时间:2012-04-30 15:45:37

标签: java maven

我将pom.xml中的哪些咒语等同于

export JAVA_TOOL_OPTIONS='-Dfile.encoding=UTF-8'
.profile中的

? 我试过了

<configuration>
    <file.encoding>UTF-8</file.encoding>
</configuration>
<{1>}和

中的

maven-compiler-plugin

在顶级,但没有用。

主要想法是从环境中设置<properties> <file.encoding>UTF-8</file.encoding> </properties> NOT (我没有控制将在哪个环境下运行)。 同样,我对任何修改pom.xml et al。

的解决方案都不感兴趣

3 个答案:

答案 0 :(得分:6)

default solution将使用以下内容:

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

并且maven-compiler-plugin具有不同的配置,特别是使用上述属性。

答案 1 :(得分:1)

尝试以下方法:

    <configuration>
     ...
     <systemProperties>
        <systemProperty>
          <name>propertyName</name>
          <value>propertyValue</value>
        </systemProperty>
        ...
     </systemProperties>
    </configuration>

这应该有效。至少它适用于其他maven插件。

答案 2 :(得分:0)

If you want to specify the encoding on unit test level you can use the following solution. This is set on startup of the plugin

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
      <skipTests>${skip.unit.tests}</skipTests>
      <enableAssertions>true</enableAssertions>
      <argLine>${surefireArgLine} -Dfile.encoding=UTF-8</argLine>
    </configuration>
  </plugin>