Distribuer une application java ?
Fermé
Bonjour,
Je vous explique mon souci :
J'ai développé une application Java. J'en ai ensuite fait un .jar. Cette application est placée sur un disque dur accessible pour plusieurs personnes. Lorsque je lance cette application depuis mon poste, tout se passe très bien, mais lorsque je lance cette application depuis un autre poste, elle ne se lance pas, l'erreur suivante apparait à l'écran : "Could not find the main class, program will exit !" Je ne comprends vraiment pas d'où vient le problème, puisque de mon poste l'application se lance très bien, le main est trouvé sans aucun souci. Cela fait maintenant 3 jours que je suis sur ce problème, je commence vraiment à désespérer...
Est-ce que quelqu'un aurait une solution à m'apporter ?
Merci :)
Je vous explique mon souci :
J'ai développé une application Java. J'en ai ensuite fait un .jar. Cette application est placée sur un disque dur accessible pour plusieurs personnes. Lorsque je lance cette application depuis mon poste, tout se passe très bien, mais lorsque je lance cette application depuis un autre poste, elle ne se lance pas, l'erreur suivante apparait à l'écran : "Could not find the main class, program will exit !" Je ne comprends vraiment pas d'où vient le problème, puisque de mon poste l'application se lance très bien, le main est trouvé sans aucun souci. Cela fait maintenant 3 jours que je suis sur ce problème, je commence vraiment à désespérer...
Est-ce que quelqu'un aurait une solution à m'apporter ?
Merci :)
A voir également:
- Distribuer une application java ?
- Waptrick java football - Télécharger - Jeux vidéo
- Application mobile - Guide
- Jeux java itel football - Télécharger - Jeux vidéo
- Application java - Télécharger - Langages
- Nommez une application d'appel vidéo ou de visioconférence - Guide
30 réponses
Vous êtres vraiment très patient avec moi, j'apprécie beaucoup, et je vous en remercie :-)
Alors j'ai fait les commandes DOS : Exception in thread "main" java.lang.NoClassDefFoundError: /bin/lcl/acl/program/
MainClass. Pourtant la classe Main est bien dans mon jar... je suis perdu... Par contre j'ai regardé dans mon jar, il y a toutes les classes, mais elles ne sont plus dans aucun package, serait-ce dû à ça ? Aussi j'ai repéré autre chose. Le manifest que j'ai créé est comme ceci :
Manifest-Version: 1.0
Main-Class: src.lcl.acl.program.MainClass
Class-Path: lib/forms-1.0.1.jar lib/itext-1.4.jar lib/jcommon-1.0.8.jar lib/j
freechart-1.0.3.jar lib/jxl.jar lib/looks-2.1.1.jar
Et dans le jar il est comme ceci :
Manifest-Version: 1.0
Class-Path: lib/forms-1.0.1.jar lib/itext-1.4.jar lib/jcommon-1.0.8.ja
r lib/jfreechart-1.0.3.jar lib/jxl.jar lib/looks-2.1.1.jar
Main-Class: src.lcl.acl.program.MainClass
Alors est-ce que le fait que les lignes Class-Path et Main-Class se soient inversées peut avoir une incidence ? :S
Alors j'ai fait les commandes DOS : Exception in thread "main" java.lang.NoClassDefFoundError: /bin/lcl/acl/program/
MainClass. Pourtant la classe Main est bien dans mon jar... je suis perdu... Par contre j'ai regardé dans mon jar, il y a toutes les classes, mais elles ne sont plus dans aucun package, serait-ce dû à ça ? Aussi j'ai repéré autre chose. Le manifest que j'ai créé est comme ceci :
Manifest-Version: 1.0
Main-Class: src.lcl.acl.program.MainClass
Class-Path: lib/forms-1.0.1.jar lib/itext-1.4.jar lib/jcommon-1.0.8.jar lib/j
freechart-1.0.3.jar lib/jxl.jar lib/looks-2.1.1.jar
Et dans le jar il est comme ceci :
Manifest-Version: 1.0
Class-Path: lib/forms-1.0.1.jar lib/itext-1.4.jar lib/jcommon-1.0.8.ja
r lib/jfreechart-1.0.3.jar lib/jxl.jar lib/looks-2.1.1.jar
Main-Class: src.lcl.acl.program.MainClass
Alors est-ce que le fait que les lignes Class-Path et Main-Class se soient inversées peut avoir une incidence ? :S
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
18 déc. 2008 à 09:53
18 déc. 2008 à 09:53
Re,
:-)
Alors est-ce que le fait que les lignes Class-Path et Main-Class se soient inversées peut avoir une incidence ? :S <== Je n'ai jamais testé, mais je crois que pas d'incidence.
1. La hiérarchie (les packages doivent correspondre à des répertoires dans ton jar !) est impérative, sinon ça ne marche pas (ouvre ton jar avec WinRar, par exemple, car le jar est un fichier zip)
2. N'oublie pas de mettre le point dans le classpath.
++
:-)
Alors est-ce que le fait que les lignes Class-Path et Main-Class se soient inversées peut avoir une incidence ? :S <== Je n'ai jamais testé, mais je crois que pas d'incidence.
1. La hiérarchie (les packages doivent correspondre à des répertoires dans ton jar !) est impérative, sinon ça ne marche pas (ouvre ton jar avec WinRar, par exemple, car le jar est un fichier zip)
2. N'oublie pas de mettre le point dans le classpath.
++
En effet, il n'y a plus aucune hiérarchie dans mon jar. Je pense qu'il doit y avoir une option à modifier dans Eclipse... Sinon je vais essayer de construire mon jar en ligne de commande, peut-être que cette fois la hiérarchie sera respectée
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
18 déc. 2008 à 10:20
18 déc. 2008 à 10:20
Bizarre... Je me rappelle avoir vu cette option (export to flat, ou un truc similaire) looooooooooooooongtime ago... Je ne la retrouve pas dans mon version d'Eclipse et du coup l'essai que j'ai fait conserve la hiérarchie. Quelle version d'Eclipse utilises-tu?
Oui, tu peux utiliser la ligne de commande. Ou Ant.
++
Oui, tu peux utiliser la ligne de commande. Ou Ant.
++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je suis sur Eclipse 3.4.1 :-)
En ligne de commande, pareil, la hiérarchie n'est plus respectée. Je vais essayer avec Ant... mais j'ai lu sur le net que c'était une usine à gaz ^^
En ligne de commande, pareil, la hiérarchie n'est plus respectée. Je vais essayer avec Ant... mais j'ai lu sur le net que c'était une usine à gaz ^^
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
18 déc. 2008 à 10:34
18 déc. 2008 à 10:34
Ah, bizarre... Il y a qqchose qui cloche dans cette histoire.
1. est-ce que ton projet a les sources et les bin séparés?
2. quelle est la version de la machine virtuelle java?
3. clic droit sur le projet / Export, JAR file > Next. "Export generated class files and resources". "Compress the contents of the JAR file". > Next. "Export class files with compiles warnings" > Next. "Use existing manifesr from workspace", nothing sealed > Finish
Ceci devrait te créer un jar avec le respect de la hiérarchie. Si ce n'est pas le cas, il y a un truc dans ton installation qui n'est pas bon. Comment est-ce que tu constates que le jar n'as plus la hiérarchie (tu l'ouvres avec quoi)?
Oui, apprendre Ant juste pour créer un jar est comme si tu voulais tuer une mouche avec un fusil.
++
1. est-ce que ton projet a les sources et les bin séparés?
2. quelle est la version de la machine virtuelle java?
3. clic droit sur le projet / Export, JAR file > Next. "Export generated class files and resources". "Compress the contents of the JAR file". > Next. "Export class files with compiles warnings" > Next. "Use existing manifesr from workspace", nothing sealed > Finish
Ceci devrait te créer un jar avec le respect de la hiérarchie. Si ce n'est pas le cas, il y a un truc dans ton installation qui n'est pas bon. Comment est-ce que tu constates que le jar n'as plus la hiérarchie (tu l'ouvres avec quoi)?
Oui, apprendre Ant juste pour créer un jar est comme si tu voulais tuer une mouche avec un fusil.
++
1/ Mes sources sont dans un dossier src, et les bin dans un dossier bin ;)
2/ J'ai le jre 1.5.0_05 d'installé
3/ Yes, c'est ce que je fais :-)
J'ouvre mon jar avec WinZip, et là je vois qu'il n'y a plus aucun répertoire dans mon Jar, tout est mit directement sans aucune hiérarchie. Je vais tenter de réinstaller Eclipse... pourtant l'installation d'Eclipse correspond juste à une extraction d'archive :S
Sinon, bien trouvé la métaphore de la mouche et du fusil, j'ai aimé ^^
2/ J'ai le jre 1.5.0_05 d'installé
3/ Yes, c'est ce que je fais :-)
J'ouvre mon jar avec WinZip, et là je vois qu'il n'y a plus aucun répertoire dans mon Jar, tout est mit directement sans aucune hiérarchie. Je vais tenter de réinstaller Eclipse... pourtant l'installation d'Eclipse correspond juste à une extraction d'archive :S
Sinon, bien trouvé la métaphore de la mouche et du fusil, j'ai aimé ^^
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
18 déc. 2008 à 10:59
18 déc. 2008 à 10:59
:tilt:
C'est peut-être ton winzip qui te fait ceci... Peut-être la hiérarchie existe bel et bien mais c'est la c*** de winzip qui ne la montre pas. Essaie:
1. ouvrir avec winrar à la place de winzip
2. extraire quelque part le contenu du fichier avec winzip ou winrar
++
C'est peut-être ton winzip qui te fait ceci... Peut-être la hiérarchie existe bel et bien mais c'est la c*** de winzip qui ne la montre pas. Essaie:
1. ouvrir avec winrar à la place de winzip
2. extraire quelque part le contenu du fichier avec winzip ou winrar
++
En effet, avec winRar on voit bien la hiérarchie ! It's crazy ! Dans ce cas là, ça voudrait dire que c'est vraiment mon MANIFEST qui n'est pas bon... Aïe aïe aïe je suis pas doué...
Bon voici mon projet :
>bin
> lcl
>acl
>program
> MainClass
> autres packages
> conf (contient une base de données)
> doc (contient les manuels utilisateur)
> images (comme son nom l'indique... ^^)
> lib (les librairies utilisées par l'application)
> nbproject (contient des fichiers XML et des fichiers .properties)
> src (même hiérarchie que le repertoire bin, sauf que les fichiers sont des .java)
> webPages (les pages html à afficher dans l'application)
> fichier .classpath (que j'ai modifié pour atteindre les librairies)
> fichier .project
> fichier build (en XML)
> fichier MANIFEST
Voilà quand je construis mon jar j'inclus tout ceci. Je ne vois vraiment pas où pourrait être le souci. Mystère mystère...
PS : C'est l'heure du repas de Noël ^^ A tout à l'heure j'espere :-)
Bon voici mon projet :
>bin
> lcl
>acl
>program
> MainClass
> autres packages
> conf (contient une base de données)
> doc (contient les manuels utilisateur)
> images (comme son nom l'indique... ^^)
> lib (les librairies utilisées par l'application)
> nbproject (contient des fichiers XML et des fichiers .properties)
> src (même hiérarchie que le repertoire bin, sauf que les fichiers sont des .java)
> webPages (les pages html à afficher dans l'application)
> fichier .classpath (que j'ai modifié pour atteindre les librairies)
> fichier .project
> fichier build (en XML)
> fichier MANIFEST
Voilà quand je construis mon jar j'inclus tout ceci. Je ne vois vraiment pas où pourrait être le souci. Mystère mystère...
PS : C'est l'heure du repas de Noël ^^ A tout à l'heure j'espere :-)
En effet, avec winRar on voit bien la hiérarchie ! It's crazy ! Dans ce cas là, ça voudrait dire que c'est vraiment mon MANIFEST qui n'est pas bon... Aïe aïe aïe je suis pas doué...
Bon voici mon projet :
>bin > lcl >acl >program > MainClass
>bin > lcl >acl > autres packages
> conf (contient une base de données)
> doc (contient les manuels utilisateur)
> images (comme son nom l'indique... ^^)
> lib (les librairies utilisées par l'application)
> nbproject (contient des fichiers XML et des fichiers .properties)
> src (même hiérarchie que le repertoire bin, sauf que les fichiers sont des .java)
> webPages (les pages html à afficher dans l'application)
> fichier .classpath (que j'ai modifié pour atteindre les librairies)
> fichier .project
> fichier build (en XML)
> fichier MANIFEST
Voilà quand je construis mon jar j'inclus tout ceci. Je ne vois vraiment pas où pourrait être le souci. Mystère mystère...
PS : C'est l'heure du repas de Noël ^^ A tout à l'heure j'espere :-)
Désolé pour le double post, mais le message n'apparaissait pas comme je le voulais ;)
Bon voici mon projet :
>bin > lcl >acl >program > MainClass
>bin > lcl >acl > autres packages
> conf (contient une base de données)
> doc (contient les manuels utilisateur)
> images (comme son nom l'indique... ^^)
> lib (les librairies utilisées par l'application)
> nbproject (contient des fichiers XML et des fichiers .properties)
> src (même hiérarchie que le repertoire bin, sauf que les fichiers sont des .java)
> webPages (les pages html à afficher dans l'application)
> fichier .classpath (que j'ai modifié pour atteindre les librairies)
> fichier .project
> fichier build (en XML)
> fichier MANIFEST
Voilà quand je construis mon jar j'inclus tout ceci. Je ne vois vraiment pas où pourrait être le souci. Mystère mystère...
PS : C'est l'heure du repas de Noël ^^ A tout à l'heure j'espere :-)
Désolé pour le double post, mais le message n'apparaissait pas comme je le voulais ;)