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"/>
使用“,”或空格作为包含的分隔符。
我目前正在为 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"/>
使用“,”或空格作为包含的分隔符。