1

我在配置我的一个执行器自定义规则时遇到了问题。

我的 POM 文件中的插件配置如下所示:

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.3.1</version>
        <executions>
          <execution>
            <id>enforce</id>
            <phase>validate</phase>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <uTF8Rule implementation="com.mavenrules.utf8validator.UTF8Rule">
                  <validationPath>${basedir}</validationPath>
                </uTF8Rule>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>

对规则的依赖已在父 POM 中声明。

我想要的是能够将路径列表/数组指定为“uTF8Rule”的属性,而不仅仅是一个简单的变量。(我希望 POM 负责我的规则适用的路径,而不是配置规则来搜索我的 basedir 中的各种路径

我无法找到有关规则属性类型的参考/文档。

所需的输出将类似于:

<configuration>
  <rules>
    <uTF8Rule implementation="com.mavenrules.utf8validator.UTF8Rule">
       <listOfPaths>
          <path1>xxx</path1>
          <path2>yyy</path2>                
       </listOfPaths>
    </uTF8Rule>
  </rules>
</configuration>

欢迎任何想法。

提前致谢!

4

1 回答 1

1

配置中的对象遵循 JavaBean/pojo 约定。所以在这种情况下:

public class com.mavenrules.utf8validator.UTF8Rule {
  private List<String> listOfPaths; // or String[]
}

这应该已经足够了,但是有点没用。通过添加一个 getter 和 setter 你应该没问题。如果我调用正确,某些版本在启动列表或数组时会遇到问题,但这也是您自己可以做的事情。

于 2013-10-21T17:11:12.070 回答