对于看似重复的问题感到抱歉,但其他Fortify解决方案似乎不适合我的情况。我正在通过maven sca插件进行扫描/上传
<plugin>
<groupId>com.fortify.ps.maven.plugin</groupId>
<artifactId>sca-maven-plugin</artifactId>
<version>4.20</version><!--$NO-MVN-MAN-VER$-->
<configuration>
<projectName>sample</projectName>
<projectVersion>${appVersion}</projectVersion>
<exclude>**/*.(LOCAL|INT).*</exclude>
</configuration>
</plugin>
并且有效
这会排除扫描所有LOCAL和INT(集成测试)属性文件。此外,我还希望将已存档的xsds排除在扫描之外:
<exclude>**/(*.(LOCAL|INT).*)|(xsd/archive/*)</exclude>
但这不起作用。事实上,甚至找不到原始的工作模式。有任何想法吗?
答案 0 :(得分:1)
我将分享我的解决方案,尽管需要您访问HP fortify安装的一些工作:
我已经厌倦了整整一天这样做,所以我做了唯一明智的事情并重新写了一部分强化maven插件!我喜欢分隔符;
所以我更改了TranslateMojo.java
文件夹下的mavin-plugin
文件,如下所示,然后重新部署了fortify插件:
OLD Line:
addOptionValuePair("-exclude", exclude);
NEW Line:
if(exclude != null && exclude.length() > 0){
String[] excludeList = exclude.split(";");
for(int i = 0; i < excludeList.length; i++){
addOptionValuePair("-exclude", excludeList[i].trim());
}
}
现在我的项目.pom
有sca-maven-plugin
定义:
<plugin>
<groupId>com.fortify.ps.maven.plugin</groupId>
<artifactId>sca-maven-plugin</artifactId>
<version>4.20</version>
<configuration>
<projectName>sample</projectName>
<projectVersion>${appVersion}</projectVersion>
<exclude>**/*.(LOCAL|INT).*;**/xsd/archive/*</exclude>
</configuration>
</plugin>
Maven生成并用作翻译步骤的sca-translate-war.txt文件现在为每个提供的模式都有一个-exclude:
"-exclude" "**/*.(LOCAL|INT).*" "-exclude" "**/xsd/archive/*"
这对我有用,希望可以节省几个小时的挣扎。
答案 1 :(得分:0)
如果您查看SCA用户指南的Appendix F: Maven Integration
部分,在Excluding Files from the Scan
标题下,它会向您显示如何排除文件。它告诉您为属性使用单独的文件并设置com.fortify.sca.exclude
。我会尝试使用分号来分隔您的两种排除模式。
答案 2 :(得分:0)
对于无法获得多个排除功能并考虑修补插件的任何人,请先检查您是否使用了正确的分隔符。它必须是Windows上的分号或Linux上的冒号。
答案 3 :(得分:0)
实际上,您可以通过这种方式破解源代码,而不是调整源代码:
<plugin>
<groupId>com.fortify.ps.maven.plugin</groupId>
<artifactId>sca-maven-plugin</artifactId>
<version>4.20</version>
<configuration>
<projectName>sample</projectName>
<projectVersion>${appVersion}</projectVersion>
<exclude>**/*.(LOCAL|INT).*" -exclude "**/xsd/archive/*</exclude>
</configuration>
</plugin>
请注意“ - exclude”里面的排除标记! ;)