Salut,
Pour lister les librairies dont j'ai besoin, que je mets dans l'attribut Class-Path du manifest de mon jar, actuellement je n'ai pas d'autre solution que de faire ceci:
<property name="lib.list" value="${lib.dir}/ecache.jar ${lib.dir}/emodelfilter.jar ${lib.dir}/etabbedpane.jar ${lib.dir}/imageutilities.jar ${lib.dir}/interval.jar ${lib.dir}/moreexecutors.jar ${lib.dir}/operatingsystem.jar ${lib.dir}/singleinstance.jar ${lib.dir}/stringutilities.jar ${lib.dir}/Trendy_1.8.jar ${lib.dir}/jawin.jar ${lib.dir}/xpp3_min-1.1.3.4.O.jar ${lib.dir}/xstream-1.2.1.jar" />
ça fait beaucoup...
Ce qui est dommage, car de toute façon j'ai besoin de tous les .jar du répertoire lib.
Donc il suffirait de scanner le répertoire lib à l'exécution du ant pour créer cette chaîne.
J'ai donc réussi à générer cette chaîne:
lib/Trendy_1.8.jar;lib/ecache.jar;lib/emodelfilterer.jar;lib/etabbedpane.jar;lib/imageutilities.jar;lib/interval.jar;lib/jawin.jar;lib/mathutilities.jar;lib/moreexecutors.jar;lib/operatingsystem.jar;lib/singleinstance.jar;lib/stringutilities.jar;lib/xpp3_min-1.1.3.4.O.jar;lib/xstream-1.2.1.jar
avec ce code:
<libfileset id="lib.list.semicolumn" dir="." includes="${lib.dir}/*.jar" />
Donc très bien, sauf que le séparateur est ';'. Moi je voudrais des ' ' (espaces) (enfin, c'est pas moi qui veut des espaces, c'est le manifest).
Il suffirait donc de remplacer tous les ';' par des ' ' et le tour serait joué... Mais tous les trucs de remplacement que j'ai trouvé dans ant c'est pour remplacer le contenu d'un fichier, je n'ai rien trouvé pour remplacer une chaîne de caractère de property...
J'ai également essayé un pathconvert:
<pathconvert pathsep=" " id="lib.list"><libfileset dir="." includes="${lib.dir}/*.jar" /></pathconvert>
mais là j'obtiens:
/media/data/java/MyFreeTV/lib/Trendy_1.8.jar /media/data/java/MyFreeTV/lib/ecache.jar /media/data/java/MyFreeTV/lib/emodelfilterer.jar /media/data/java/MyFreeTV/lib/etabbedpane.jar /media/data/java/MyFreeTV/lib/imageutilities.jar /media/data/java/MyFreeTV/lib/interval.jar /media/data/java/MyFreeTV/lib/jawin.jar /media/data/java/MyFreeTV/lib/mathutilities.jar /media/data/java/MyFreeTV/lib/moreexecutors.jar /media/data/java/MyFreeTV/lib/operatingsystem.jar /media/data/java/MyFreeTV/lib/singleinstance.jar /media/data/java/MyFreeTV/lib/stringutilities.jar /media/data/java/MyFreeTV/lib/xpp3_min-1.1.3.4.O.jar /media/data/java/MyFreeTV/lib/xstream-1.2.1.jar
ce qui n'est pas ce que je veux, bien évidemment...
Merci d'avance de votre aide
Partager