J'utilise NetBeans 5.0 et souhaite générer des fichiers JAR
exécutables sur n'importe quelle machine ayant la JVM.
J'ai tout d'abord repris une application développée avec NetBeans 3.5.1.
NetBeans 5.0 m'a alors généré sans problème un JAR exécutable.
Voulant profiter de "Matisse", j'ai ouvert ensuite un projet "Test".
J'ai créé un JFrame Form avec l'assistant
en plaçant JPanel, Jlabels, JTextFields et JComboBox
avec une facilité déconcertante.
Ce test fonctionne parfaitement DANS NetBeans 5.0
En revanche, si je le lance directement depuis Windows, j'obtiens :
Exception in thread "main" java.lang.NoClassDefFoundError:
org/jdesktop/layout/GroupLayout$Group
at test.Main.main(Main.java:26)
J'ai le même type de problème si j'utilise une librairie
de classes que j'ai développée.
Existe-t-il une solution simple pour que NB prenne en compte les
librairies nécessaires au moment de la génération du fichier JAR ?
- si c'est une question de manifest.mf quelle est la ligne à ajouter ?
- si c'est un problème Ant, quelle est la clé à modifier (et comment ?)
- si c'est une question de classpath j'ai besoin de conseils
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
flipouk
Existe-t-il une solution simple pour que NB prenne en compte les librairies nécessaires au moment de la génération du fichier JAR ? Non. Le mieux est de dézipper ton jar contenant ta lib extérieure dans
le répertoire build/classes, puis de créer ton jar exécutable. Il existe une tâche ant pour cela : unzip. http://ant.apache.org/manual/CoreTasks/unzip.html
Si tu peux garder tes jars à l'extérieur de ton jar exécutable, il faut effectivement :
- Soit lancer ton appli avec l'option cp. Par ex. : java -cp /path/to/jar1:/path/to/jar2 com.package.Appli
- Soit ajouter une entrée 'Class-Path' dans ton manifest : http://java.sun.com/docs/books/tutorial/jar/manifest/downman.html
Tu peux bien évidemment automatiser cela avec ant. Voici par exemple la tâche 'JAR' de mon build.xml :
J'ai bien cherché et j'ai demandé un peu partout, je ne pense pas que NB le fasse. J'ai ajouté une demande à la wishlist pour avoir cette possibilité de générer des jars exécutable qui intègrent les libs que l'on utilise. D'après ce que j'ai compris, JBuilder le fait ( à confirmer). Avec un peu de chance, la version finale de NB 5 le fera.
A+
F.
Existe-t-il une solution simple pour que NB prenne en compte les
librairies nécessaires au moment de la génération du fichier JAR ?
Non. Le mieux est de dézipper ton jar contenant ta lib extérieure dans
le répertoire build/classes, puis de créer ton jar exécutable. Il existe
une tâche ant pour cela : unzip.
http://ant.apache.org/manual/CoreTasks/unzip.html
Si tu peux garder tes jars à l'extérieur de ton jar exécutable, il faut
effectivement :
- Soit lancer ton appli avec l'option cp. Par ex. :
java -cp /path/to/jar1:/path/to/jar2 com.package.Appli
- Soit ajouter une entrée 'Class-Path' dans ton manifest :
http://java.sun.com/docs/books/tutorial/jar/manifest/downman.html
Tu peux bien évidemment automatiser cela avec ant. Voici par exemple la
tâche 'JAR' de mon build.xml :
J'ai bien cherché et j'ai demandé un peu partout, je ne pense pas que NB
le fasse. J'ai ajouté une demande à la wishlist pour avoir cette
possibilité de générer des jars exécutable qui intègrent les libs que
l'on utilise. D'après ce que j'ai compris, JBuilder le fait ( à
confirmer). Avec un peu de chance, la version finale de NB 5 le fera.
Existe-t-il une solution simple pour que NB prenne en compte les librairies nécessaires au moment de la génération du fichier JAR ? Non. Le mieux est de dézipper ton jar contenant ta lib extérieure dans
le répertoire build/classes, puis de créer ton jar exécutable. Il existe une tâche ant pour cela : unzip. http://ant.apache.org/manual/CoreTasks/unzip.html
Si tu peux garder tes jars à l'extérieur de ton jar exécutable, il faut effectivement :
- Soit lancer ton appli avec l'option cp. Par ex. : java -cp /path/to/jar1:/path/to/jar2 com.package.Appli
- Soit ajouter une entrée 'Class-Path' dans ton manifest : http://java.sun.com/docs/books/tutorial/jar/manifest/downman.html
Tu peux bien évidemment automatiser cela avec ant. Voici par exemple la tâche 'JAR' de mon build.xml :
J'ai bien cherché et j'ai demandé un peu partout, je ne pense pas que NB le fasse. J'ai ajouté une demande à la wishlist pour avoir cette possibilité de générer des jars exécutable qui intègrent les libs que l'on utilise. D'après ce que j'ai compris, JBuilder le fait ( à confirmer). Avec un peu de chance, la version finale de NB 5 le fera.
A+
F.
Népomucène
Merci Flipouk
J'ai utilisé la solution : "ajouter une entrée 'Class-Path' dans ton manifest" pour me décoincer de ce problème.
Dès que j'ai un peu de temps, je vais explorer systématiquement tes autres sugestions. Je suppose que la vraie maîtrise passe par ANT.
Merci encore pour m'avoir indiqué directement les tâches ANT à tester.
J'ai aussi que tu cherches un convertisseur C vers Java. J'en ai vu un par hasard à :
Existe-t-il une solution simple pour que NB prenne en compte les librairies nécessaires au moment de la génération du fichier JAR ?
Non. Le mieux est de dézipper ton jar contenant ta lib extérieure dans le répertoire build/classes, puis de créer ton jar exécutable. Il existe une tâche ant pour cela : unzip. http://ant.apache.org/manual/CoreTasks/unzip.html
Si tu peux garder tes jars à l'extérieur de ton jar exécutable, il faut effectivement :
- Soit lancer ton appli avec l'option cp. Par ex. : java -cp /path/to/jar1:/path/to/jar2 com.package.Appli
- Soit ajouter une entrée 'Class-Path' dans ton manifest : http://java.sun.com/docs/books/tutorial/jar/manifest/downman.html
Tu peux bien évidemment automatiser cela avec ant. Voici par exemple la tâche 'JAR' de mon build.xml :
J'ai bien cherché et j'ai demandé un peu partout, je ne pense pas que NB le fasse. J'ai ajouté une demande à la wishlist pour avoir cette possibilité de générer des jars exécutable qui intègrent les libs que l'on utilise. D'après ce que j'ai compris, JBuilder le fait ( à confirmer). Avec un peu de chance, la version finale de NB 5 le fera.
A+
F.
Merci Flipouk
J'ai utilisé la solution : "ajouter une entrée 'Class-Path' dans ton
manifest" pour me décoincer de ce problème.
Dès que j'ai un peu de temps, je vais explorer systématiquement tes
autres sugestions. Je suppose que la vraie maîtrise passe par ANT.
Merci encore pour m'avoir indiqué directement les tâches ANT à tester.
J'ai aussi que tu cherches un convertisseur C vers Java.
J'en ai vu un par hasard à :
Existe-t-il une solution simple pour que NB prenne en compte les
librairies nécessaires au moment de la génération du fichier JAR ?
Non. Le mieux est de dézipper ton jar contenant ta lib extérieure dans
le répertoire build/classes, puis de créer ton jar exécutable. Il existe
une tâche ant pour cela : unzip.
http://ant.apache.org/manual/CoreTasks/unzip.html
Si tu peux garder tes jars à l'extérieur de ton jar exécutable, il faut
effectivement :
- Soit lancer ton appli avec l'option cp. Par ex. :
java -cp /path/to/jar1:/path/to/jar2 com.package.Appli
- Soit ajouter une entrée 'Class-Path' dans ton manifest :
http://java.sun.com/docs/books/tutorial/jar/manifest/downman.html
Tu peux bien évidemment automatiser cela avec ant. Voici par exemple la
tâche 'JAR' de mon build.xml :
J'ai bien cherché et j'ai demandé un peu partout, je ne pense pas que NB
le fasse. J'ai ajouté une demande à la wishlist pour avoir cette
possibilité de générer des jars exécutable qui intègrent les libs que
l'on utilise. D'après ce que j'ai compris, JBuilder le fait ( à
confirmer). Avec un peu de chance, la version finale de NB 5 le fera.
Existe-t-il une solution simple pour que NB prenne en compte les librairies nécessaires au moment de la génération du fichier JAR ?
Non. Le mieux est de dézipper ton jar contenant ta lib extérieure dans le répertoire build/classes, puis de créer ton jar exécutable. Il existe une tâche ant pour cela : unzip. http://ant.apache.org/manual/CoreTasks/unzip.html
Si tu peux garder tes jars à l'extérieur de ton jar exécutable, il faut effectivement :
- Soit lancer ton appli avec l'option cp. Par ex. : java -cp /path/to/jar1:/path/to/jar2 com.package.Appli
- Soit ajouter une entrée 'Class-Path' dans ton manifest : http://java.sun.com/docs/books/tutorial/jar/manifest/downman.html
Tu peux bien évidemment automatiser cela avec ant. Voici par exemple la tâche 'JAR' de mon build.xml :
J'ai bien cherché et j'ai demandé un peu partout, je ne pense pas que NB le fasse. J'ai ajouté une demande à la wishlist pour avoir cette possibilité de générer des jars exécutable qui intègrent les libs que l'on utilise. D'après ce que j'ai compris, JBuilder le fait ( à confirmer). Avec un peu de chance, la version finale de NB 5 le fera.
A+
F.
flipouk
Népomucène wrote:
Dès que j'ai un peu de temps, je vais explorer systématiquement tes autres sugestions. Je suppose que la vraie maîtrise passe par ANT.
Je le crois aussi. Ma vie de dév Java a changé le jour où je me suis décidé à comprendre ANT.
J'ai aussi que tu cherches un convertisseur C vers Java. J'en ai vu un par hasard à :
Merci pour ce lien. Malheureusement, c'est un programme pour Windows et je suis sous Linux. Je me suis finalement lancé dans le conversion de mon programme à la main. Le C n'est pas si compliqué que cela quand c'est bien écrit :)
Amicalement,
F.
Népomucène wrote:
Dès que j'ai un peu de temps, je vais explorer systématiquement tes
autres sugestions. Je suppose que la vraie maîtrise passe par ANT.
Je le crois aussi. Ma vie de dév Java a changé le jour où je me suis
décidé à comprendre ANT.
J'ai aussi que tu cherches un convertisseur C vers Java.
J'en ai vu un par hasard à :
Merci pour ce lien. Malheureusement, c'est un programme pour Windows et
je suis sous Linux. Je me suis finalement lancé dans le conversion de
mon programme à la main. Le C n'est pas si compliqué que cela quand
c'est bien écrit :)
Merci pour ce lien. Malheureusement, c'est un programme pour Windows et je suis sous Linux. Je me suis finalement lancé dans le conversion de mon programme à la main. Le C n'est pas si compliqué que cela quand c'est bien écrit :)
Amicalement,
F.
cilovie
flipouk wrote:
Népomucène wrote:
Dès que j'ai un peu de temps, je vais explorer systématiquement tes autres sugestions. Je suppose que la vraie maîtrise passe par ANT.
Je le crois aussi. Ma vie de dév Java a changé le jour où je me suis décidé à comprendre ANT.
J'ai aussi que tu cherches un convertisseur C vers Java. J'en ai vu un par hasard à :
Merci pour ce lien. Malheureusement, c'est un programme pour Windows et je suis sous Linux. Je me suis finalement lancé dans le conversion de mon programme à la main. Le C n'est pas si compliqué que cela quand c'est bien écrit :)
Amicalement,
F. Si ANT a changé ta vie, alors je te conseille de regarder du côté de
maven celà devrait te la révolutionner ;-))
flipouk wrote:
Népomucène wrote:
Dès que j'ai un peu de temps, je vais explorer systématiquement tes
autres sugestions. Je suppose que la vraie maîtrise passe par ANT.
Je le crois aussi. Ma vie de dév Java a changé le jour où je me suis
décidé à comprendre ANT.
J'ai aussi que tu cherches un convertisseur C vers Java.
J'en ai vu un par hasard à :
Merci pour ce lien. Malheureusement, c'est un programme pour Windows et
je suis sous Linux. Je me suis finalement lancé dans le conversion de
mon programme à la main. Le C n'est pas si compliqué que cela quand
c'est bien écrit :)
Amicalement,
F.
Si ANT a changé ta vie, alors je te conseille de regarder du côté de
Merci pour ce lien. Malheureusement, c'est un programme pour Windows et je suis sous Linux. Je me suis finalement lancé dans le conversion de mon programme à la main. Le C n'est pas si compliqué que cela quand c'est bien écrit :)
Amicalement,
F. Si ANT a changé ta vie, alors je te conseille de regarder du côté de
maven celà devrait te la révolutionner ;-))
flipouk
cilovie wrote:
Si ANT a changé ta vie, alors je te conseille de regarder du côté de maven celà devrait te la révolutionner ;-)) Je viens de jeter un coup d'oeil. Cela m'a l'air d'être un peu comme
ant, non ? D'après ce que je comprends, maven utilise ant pour créer un projet, alors que si on utilise ant tout seul, il faut créer le projet (répertoires etc.) soi-même.
cilovie wrote:
Si ANT a changé ta vie, alors je te conseille de regarder du côté de
maven celà devrait te la révolutionner ;-))
Je viens de jeter un coup d'oeil. Cela m'a l'air d'être un peu comme
ant, non ? D'après ce que je comprends, maven utilise ant pour créer un
projet, alors que si on utilise ant tout seul, il faut créer le projet
(répertoires etc.) soi-même.
Si ANT a changé ta vie, alors je te conseille de regarder du côté de maven celà devrait te la révolutionner ;-)) Je viens de jeter un coup d'oeil. Cela m'a l'air d'être un peu comme
ant, non ? D'après ce que je comprends, maven utilise ant pour créer un projet, alors que si on utilise ant tout seul, il faut créer le projet (répertoires etc.) soi-même.