我在运行扫描时遇到问题,在强化SCA中排除xsd文件。 我正在使用maven(使用fortify插件)+ jenkins。 我的Jenkins使用的POM.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>pl.bluecode</groupId>
<artifactId>bc</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<properties>
</properties>
<scm>
<connection>scm:svn:https://subversion......</connection>
<developerConnection>scm:svn:https://subversion.....</developerConnection>
<tag>HEAD</tag>
<url>https://subversion......</url>
</scm>
<profiles>
<profile>
<id>common</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>!skipCommonProfile</name>
</property>
</activation>
<modules>
<module>Project1</module>
<module>Project2</module>
</modules>
</profile>
<profile>
<id>profile1</id>
<modules>
<module>Project3</module>
<module>Project4</module>
</modules>
</profile>
</profiles>
<build>
<sourceDirectory>${basedir}/src</sourceDirectory>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>${basedir}/src</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src</directory>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.fortify.ps.maven.plugin</groupId>
<artifactId>maven-sca-plugin</artifactId>
<version>2.6</version>
<configuration>
<source>1.5</source>
<failOnSCAError>true</failOnSCAError>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
我的Jenkins Maven目标如下: 第一个目标: com.fortify.ps.maven.plugin:maven-sca-plugin:2.6:clean -Pprofile1
第二个目标: com.fortify.ps.maven.plugin:maven-sca-plugin:2.6:translate -Pprofile1 第三个目标: com.fortify.ps.maven.plugin:maven-sca-plugin:2.6:scan -Pprofile1不幸的是我无法附上图片。
以上配置按预期工作至今 现在,我想从扫描中排除所有XSD文件。
怎么做? 我尝试添加-exclude&#34; .xsd&#34;进入maven目标: com.fortify.ps.maven.plugin:maven-sca-plugin:2.6:scan -Pprofile -exclude&#34; .xsd&#34;
但它不起作用。
如果有人可以提供帮助,我将不胜感激。
感谢。
答案 0 :(得分:1)
理论上,Fortify Maven插件支持排除文件,但它并不总是按预期工作。
现在,正如所说, 您没有正确调用排除 。在构建Fortify Maven插件的位置,找到translate
目标的文档,例如对我来说:/Samples/advanced/maven-plugin/target/site/translate-mojo.html#exclude。
在那里,您可以找到调用排除的正确方法。在命令行上:
"-Dfortify.sca.exclude=*.xsd"
或在POM中(如果你在那里设置强化翻译工作)
<exclude>
*.xsd
</exclude>
现在回到我的第一点。有时,除了将值设置为* .extension之外,排除更难以实现。您可能还需要指定目录,因此如果上述方法不起作用,请尝试Fortify特殊glob参数“**”,这意味着任何递归子目录匹配。即:
"-Dfortify.sca.exclude=**/*.xsd"
或
<exclude>
**/*.xsd
</exclude>
如果以上都不奏效,请联系Fortify技术支持。
专业提示: 您还可以在Core / config / fortify-sca.properties中设置此值,它将影响系统上sourceanalyzer的每次调用。这包括通过maven插件进行调用。