Créer un jar exécutable avec ses dépendances
Bonjour,
j'ai essayé d'utiliser un script Ant pour créer un jar exécutable et qui contient également l'ensemble des dépendances dont il a besoin.
A noter que je développe avec Java 6.01
L'archive se présente de la sorte :
fr (package)
-----> oneJarPerso (package)
----------->TestOneJarPerso.class
lib (package)
-----> commons-lang-2.3.jar
-----> log4j-1.2.14.jar
META-INF (package)
-----> MANIFEST.MF
Le fichier Manifest contient les lignes suivantes : «
Code:
1 2 3 4 5 6
|
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: Foub
Main-Class: fr.oneJarPerso.TestOneJarPerso
Class-Path: . lib/commons-lang-2.3.jar lib/log4j-1.2.14.jar |
».
Si je lance le jar avec la commande « java - jar », j'obtiens une exception NoClassDefFoundError : «
Code:
1 2 3 4 5 6
|
java -jar monJAR.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/la
ng/StringUtils
at fr.oneJarPerso.TestOneJarPerso.<init>(Unknown Source)
at fr.oneJarPerso.TestOneJarPerso.main(Unknown Source) |
».
Avez-vous une idée qu'est-ce qui déconne ?
Au niveau de la ligne « Class-Path », j'ai tout essayé :
* Class-Path: ./lib/commons-lang-2.3.jar ./lib/log4j-1.2.14.jar
* Class-Path: ./lib/*
* Class-Path: lib\commons-lang-2.3.jar lib\log4j-1.2.14.jar
* Class-Path: .\lib\commons-lang-2.3.jar .\lib\log4j-1.2.14.jar
D'après vous, quel est la bonne écriture ?
Je sais, je pourrais utiliser "Fat Jar" pour créer mon jar avec ses dépendances mais ce dernier ne marche pas si on utilise Java Web Start pour lancer l'appli.
Merci de m'aider,
F.