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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.