Encoding Maven插件确保UTF-8编码?

Encoding Maven插件确保UTF-8编码?,encoding,utf-8,maven,maven-plugin,Encoding,Utf 8,Maven,Maven Plugin,如果构建器注意到一个未使用UTF-8编码的文件,是否可以使用Maven插件使构建失败 采用Maven是个不错的选择-毫无疑问,你很快就会成为一个彻底的皈依者!:) 你可能想看看这个。首先,您可以使用requireProperty规则来确保project.build.sourceEncoding属性设置为UTF-8 至于检查实际文件本身(即检查是否有人提交了非unicode文件),您可以使用enforcer插件。执行此规则时,您需要读取项目中的所有资源,并找到一些方法来检测每个资源的编码(例如ic

如果构建器注意到一个未使用UTF-8编码的文件,是否可以使用Maven插件使构建失败

采用Maven是个不错的选择-毫无疑问,你很快就会成为一个彻底的皈依者!:)

你可能想看看这个。首先,您可以使用
requireProperty
规则来确保
project.build.sourceEncoding
属性设置为UTF-8

至于检查实际文件本身(即检查是否有人提交了非unicode文件),您可以使用enforcer插件。执行此规则时,您需要读取项目中的所有资源,并找到一些方法来检测每个资源的编码(例如iconv)。

是的,有

它使用、和进行编码检测

更新2016-10-20:org.codehaus.mojo有一个插件引入了一条规则。它用于编码检测

用途是:

<plugin>
  <artifactId>maven-enforcer-plugin</artifactId>
  <!-- find the latest version at http://maven.apache.org/plugins/maven-enforcer-plugin/ -->
  <version>1.0</version> 
  <executions>
    <execution>
      <id>require-utf-8</id>
      <goals>
        <goal>enforce</goal>
      </goals>
      <configuration>
        <rules>
          <requireEncoding>
            <encoding>UTF-8</encoding>
            <includes>src/main/resources/**,src/test/resources/**</includes>
          </requireEncoding>
        </rules>
        <fastFail>false</fastFail>
      </configuration>
    </execution>
  </executions>
  <dependencies>
    <dependency>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>extra-enforcer-rules</artifactId>
      <!-- find the latest version at http://www.mojohaus.org/extra-enforcer-rules/ -->
      <version>1.0-beta-6</version>
    </dependency>
  </dependencies>
</plugin>

maven enforcer插件
1
require-utf-8
执行
UTF-8
src/main/resources/**,src/test/resources/**
假的
org.codehaus.mojo
额外执行者规则
1.0-beta-6

我在git站点使用配置运行插件时出错。。。(Maven v.3.3.9+java 7):[错误]无法执行目标org.apache.Maven.plugins:Maven enforcer插件:1.2:enforce(默认cli)在项目上:目标org.apache.Maven.plugins:Maven enforcer插件:1.2:enforce的参数“规则”丢失或无效->帮助1]。。。。。规则配置与github完全相同,只需复制/粘贴fork上的自述文件,上面说要从mikedon的url构建,这很混乱,所以我是从ericbn构建的,但仍然得到相同的错误?目标org.apache.maven.plugins:maven enforcer plugin:1.2:enforce的参数“rules”丢失或无效。。。我是通过mvn enforcer运行的:enforce?好吧,所以我最终根据回答中的信息实现了这一点:这就是为什么我讨厌MAVEN和任何选择使用此工具的人。。。您需要为在HELL MAVEN中执行do'default cli'aarrgh BURN设置id