从Ant调用FindBugs:向java传递以空格分隔的文件列表
我试图从Ant内部调用FindBugs。为了控制FindBugs可用的内存量,我选择不使用ant任务。我现在遇到的问题是,我想在命令行上将一些JAR传递给FindBugs:从Ant调用FindBugs:向java传递以空格分隔的文件列表,ant,findbugs,Ant,Findbugs,我试图从Ant内部调用FindBugs。为了控制FindBugs可用的内存量,我选择不使用ant任务。我现在遇到的问题是,我想在命令行上将一些JAR传递给FindBugs: java -jar .../findbugs.jar foo.jar bar.jar fie.jar 然而,由于这些JAR实际上是Eclipse插件,我不知道JAR的确切名称,因此我需要一种使用通配符获取列表的方法。这就是我想到的: <target name="findbugs"> <proper
java -jar .../findbugs.jar foo.jar bar.jar fie.jar
然而,由于这些JAR实际上是Eclipse插件,我不知道JAR的确切名称,因此我需要一种使用通配符获取列表的方法。这就是我想到的:
<target name="findbugs">
<property name="findbugs.home" location="${user.home}/eclipse/findbugs" />
<path id="findbugs.input">
<fileset dir="${testDirectory}/eclipse/plugins">
<include name="my.plugins.*.jar" />
</fileset>
</path>
<path id="findbugs.auxinput">
<fileset dir="${testDirectory}/eclipse/plugins">
<include name="*.jar" />
<include name="**/*.jar" />
</fileset>
</path>
<java jar="${findbugs.home}/lib/findbugs.jar" fork="true">
<jvmarg value="-Xmx1048m" />
<arg value="-textui" />
<arg value="-output" />
<arg value="findbugs.xml" />
<arg value="-xml" />
<arg value="-exclude" />
<arg value="${basedir}/findbugsExclude.xml" />
<arg value="-auxclasspath" />
<arg pathref="findbugs.auxinput"/>
<arg pathref="findbugs.input" />
</java>
</target>
但是,findbugs.input
pathref是一个逗号分隔的jar列表,而不是findbugs想要的空格分隔列表。如何将jar列表作为空格分隔的列表获取
(使用FindBugs ant任务可能更容易做到这一点。我从文档中看不出来。)使用将路径转换为正确的格式,将其存储到属性中,然后使用,而不是使用,如下所示:
<pathconvert pathsep="," property="findbugs.input.csv" refid="findbugs.input"/>
为了实现您提供的目标,我将引用从
到
您可以通过ant任务控制内存:
<findbugs jvmargs="-Xms512m -Xmx512m" ...>
...
</findbugs>
...
适用于我使用
和
<findbugs jvmargs="-Xms512m -Xmx512m" ...>
...
</findbugs>