Bonjour à tous,

Je voudrais savoir s'il est possible d'inclure des lib jar dans un jar afin de ne pas se 'trainer' plusieurs fichiers ?

Je m'explique, j'ai développé une application qui nécessite pas mal de librairies. Je voudrais ensuite pouvoir exécuter cette appli de façon classique, c.à.d:

java -cp ? -jar monappli.jar

L'inconnue : '?' le classpath ! Est-ce qu'il est possible de fixer le classpath dans l'appli et donner les chemins d'accès des différentes lib ?

La création du jar ne me pose pas de pb, je le crée avec ant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<jar destfile="monappli.jar">
  <manifest>
    <attribute name="Main-Class" value="com.pkg1.pkg2.MainFrame"/>
    <attribute name="Version" value="0.0.0.1-beta"/>
    <attribute name="Built-By" value="cpr0"/>
  </manifest>
  <fileset dir="build" includes="**/*.class"/>
  <fileset dir="." includes="etc/res/**/*.*"/>
  <fileset dir="." includes="etc/dist/lib/*.jar"/>
</jar>
Structure du jar monappli.jar créé :

/com/pkg1/pkg2/*.class (les classes de l'appli)
/etc/res/img/*.jpg (les icones/images de l'appli)
/etc/dist/lib/*jar (les lib, ex. activation.jar)
/META-INF/MANIFEST.MF (indique entre autre la Main-Class)

Par avance merci,

-David-