2

我输入什么咒语pom.xml相当于

export JAVA_TOOL_OPTIONS='-Dfile.encoding=UTF-8'

.profile?我试过

<configuration>
    <file.encoding>UTF-8</file.encoding>
</configuration>

maven-compiler-plugin

<properties>
    <file.encoding>UTF-8</file.encoding>
</properties>

在顶级,它没有工作。

主要思想是从环境中设置它pom.xml,而不是从环境中设置(我无法控制它将在什么环境下运行)。同样,我对任何修改.profile等的解决方案都不感兴趣。

4

3 回答 3

6

默认解决方案是使用以下内容:

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

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

于 2012-04-30T16:26:15.147 回答
1

尝试以下操作:

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

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

于 2012-04-30T16:12:26.090 回答
0

如果要在单元测试级别指定编码,可以使用以下解决方案。这是在插件启动时设置的

 <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>
于 2019-01-07T13:39:08.173 回答