Ant:解析 java arg 的通配符

Ant: resolve wildcards for java arg

我目前正在为 rcp 应用程序构建 pde。 在构建期间,我想执行一个 .jar,它需要我在 rcp 应用程序中使用的所有插件的路径。 问题是插件的名称末尾都有一个版本。 例如:com.ibm.icu_52.1.1.v201501240615.jar

.jar 不支持参数中的通配符,所以我尝试使用 filelist 和 pathconvert:

<filelist id="plugins.jars"
    dir="${eclipse.pdebuild.home}.."
    files="com.ibm.icu*.jar,org.eclipse.equinox.simpleconfigurator*.jar"
/>

<pathconvert pathsep=";" property="plugins" refid="plugins.jars"/>

<java jar="Programm.jar"
        fork="true"
        failonerror="true">

        <arg value="${plugins}" />
</java>

问题是 * 不会得到解析。

[java] Info: Setting additionally referenced classes (C:\Program Files (x86)\eclipse_rcp\plugins\com.ibm.icu*.jar;C:\Program Files (x86)\eclipse_rcp\plugins\org.eclipse.equinox.simpleconfigurator*.jar).
[java] Error : Classpath file C:\Program Files (x86)\eclipse_rcp\plugins\com.ibm.icu*.jar does not exist

有谁知道我该如何解决这个问题?

感谢任何帮助!

此致, 安迪

改用fileset

<fileset dir="${eclipse.pdebuild.home}" id="plugins.jars"
  includes="com.ibm.icu*.jar,org.eclipse.equinox.simpleconfigurator*.jar/>

<!-- simple echo -->
<echo>${toString:plugins.jars}</echo>

<pathconvert pathsep=";" property="plugins" refid="plugins.jars"/>

使用“,”或空格作为包含的分隔符。