2015-07-24 2 views
1

Je travaille actuellement sur un build pde pour une application rcp. Pendant la construction, je veux exécuter un fichier .jar qui nécessite le chemin de tous les plugins que j'utilise dans mon application rcp. Le problème est que les plugins ont tous une version à la fin de leur nom. par exemple: com.ibm.icu_52.1.1.v201501240615.jarAnt: résoudre les jokers pour java arg

Le .jar ne supporte pas les caractères génériques dans l'argument donc j'ai essayé d'utiliser et 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> 

Le problème avec cela est que la * ne sera pas résolu.

[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 

Est-ce que quelqu'un a une idée comment je pourrais résoudre ce problème?

Toute aide est appréciée!

Meilleures salutations, Andi

+0

Extrayez la tâche manifestclasspath. Conçu pour résoudre votre problème. –

Répondre

1

Utilisez fileset à la place:

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

Utilisez '' ou blanc comme séparateur pour comprend.

+0

Merci, a parfaitement fonctionné! – Andi489156