Ant:解析java arg的通配符

时间:2015-07-24 13:42:50

标签: java ant eclipse-rcp eclipse-pde

我目前正在为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

有没有人知道如何解决这个问题?

感谢任何帮助!

祝你好运, 岸堤

1 个答案:

答案 0 :(得分:1)

使用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"/>

使用','或空白作为包含的分隔符。