【发布时间】:2021-03-26 03:50:54
【问题描述】:
我可以使用evaluateBeanshell 规则来强制执行一些约定:src 下面的目录中没有冒号。
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>enforce-beanshell</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<evaluateBeanshell>
<condition>org.codehaus.plexus.util.FileUtils.getDirectoryNames(new File("src"), "**/*:*", null, false).isEmpty()</condition>
</evaluateBeanshell>
</rules>
</configuration>
</execution>
</executions>
</plugin>
但是有些项目没有 src 目录,规则会很难失败。我试过设置
<condition>org.codehaus.plexus.util.FileUtils.getDirectoryNames(new File("."), "src/**/[^A-Z]*", null, false).isEmpty()</condition>
如何安全地捕捉到不存在的 src 目录?
【问题讨论】:
-
请检查one和old answer
-
@gowridev 这些
标记之一中的正则表达式的功能如何?我不想强制 src 目录的存在 -
请查看maven rule api和custom api这两个链接
-
requireFilesExist 可能是最好的答案
-
您应该重写问题/标题,以更清楚地表明您要检查文件夹是否存在:它与文件名中的字符关系不大。
标签: beanshell maven-enforcer-plugin