maven平台编码

cdo*_*dog 19 maven

当你运行mvn --version部分输出时,包括locale和pratform编码.例如:Default locale: en_GB, platform encoding: Cp1252

我想知道从哪里挑选这些以及如何设置它们

max*_*dim 26

maven从Java系统属性中选择这些值.以下是设置编码的方法:

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
Run Code Online (Sandbox Code Playgroud)

要么:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
      <encoding>UTF-8</encoding>
    </configuration>
  </plugin>
Run Code Online (Sandbox Code Playgroud)

或者将参数传递给maven命令行:

mvn -Dproject.build.sourceEncoding=UTF-8
Run Code Online (Sandbox Code Playgroud)

  • 最好的办法就是将这类信息放入pom或从不在命令行中放入公司. (7认同)
  • 第一个答案有两个错误:它缺少设置project.reporting.outputEncoding,即使如此,它也仅适用于一个pom。如果你有一个严肃的项目,你必须将这些设置放入每个模块的 POM 中。明智的全球解决方案是 /sf/answers/698375191/。第二个答案更糟糕。最后一种对于在 Eclipse 中工作是可以接受的。因此,由于不方便,它并不通用。 (2认同)

SWo*_*ste 20

您可以使用设置maven(在Windows系统上)的环境信息

set "MAVEN_OPTS=-Duser.language=fr -Dfile.encoding=UTF-8"
Run Code Online (Sandbox Code Playgroud)

  • @cdog,如果你将这篇文章标记为答案,那将是很好的,所以其他人会马上看到它. (2认同)

小智 8

set MAVEN_OPTS= -Dfile.encoding="UTF-8"
Run Code Online (Sandbox Code Playgroud)

实际上它不起作用,您需要删除引号 ("") :

set MAVEN_OPTS= -Dfile.encoding=UTF-8
Run Code Online (Sandbox Code Playgroud)