gpt4 book ai didi

ant - 从 Ant : passing a space-separated list of files to java 调用 FindBugs

转载 作者:行者123 更新时间:2023-12-04 17:18:00 25 4
gpt4 key购买 nike

我正在尝试从 Ant 内部调用 FindBugs。为了控制 FindBugs 可用的内存量,我选择不使用 ant-task。我现在遇到的问题是我想在命令行上将一些 jar 传递给 FindBugs:

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-task 可能更容易做到这一点。我无法从文档中真正分辨出来。)

最佳答案

使用pathconvert ,像这样:

<pathconvert pathsep="," property="findbugs.input.csv" refid="findbugs.input"/>

在您提供的目标中实现,我将引用从 <arg pathref="findbugs.input" /> 更改为 至 <arg value="${findbugs.input.csv}" />

<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>
<pathconvert pathsep="," property="findbugs.input.csv"
refid="findbugs.input"/>

<path id="findbugs.auxinput">
<fileset dir="${testDirectory}/eclipse/plugins">
<include name="*.jar" />
<include name="**/*.jar" />
</fileset>
</path>

<echo message="${findbugs.input.csv}" />

<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 value="${findbugs.input.csv}" />
</java>
</target>

关于ant - 从 Ant : passing a space-separated list of files to java 调用 FindBugs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1356418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com