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.
Partager