ECLIPSE - jar executable [Résolu]

melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 11:35 - Dernière réponse : melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 16:07
Bonjour à tous...

Il doit y avoir un truc que je ne pige pas...
Bref, j'utilise Eclipse, sous mac OS.
Mon projet fonctionne sans erreurs.

Je voudrais créer un jar executable. j'exporte donc à partir d'Eclipse. L'export se passe sans pbs, mon jar est créé, si je le décompile il y a bien tous les fichiers nécessaires...

MAIS (car il en faut un) quand je doubleclique sur le .jar, il ne se passe absolument rien... (alors que mon programme devrait écrire des infos dans un terminal...)

Quelqu'un a t il une idée ?
Afficher la suite 

Votre réponse

24 réponses

Meilleure réponse
Twinuts
Messages postés
5292
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
12 novembre 2018
- 4 mars 2006 à 15:47
3
Merci
Bon on va faire simple



tu creer un projet java que tu nome Test(tromp d'inspiration)


ensuite tu fais un clic droit sur ce projet et tu va sur new ->
source folder dans la fenetre tu met src comme source folder et tu
valide.

Maintenant tu fais un clic droit sur source folder et tu fait new->class

tu met Test comme nom(tjrs trop d'inspiration)



cette classe tu la rempli comme suit :



public class Test extends javax.swing.JFrame{

public static void main(String [] args){

new Test().setVisible(true);

}



public Test(){

super("Test");

setSize(new java.awt.Dimension(300, 300));

setLocationRelativeTo(null);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

}

compile le fichier java (si tu n'est pas en auto build)



maintenant tu fais un fichier ant pour le jar donc clic droit sur la racine du projet new->file

tu met build.xml comme nom et tu valide



ce fichier tu le remplis comme suit:
















































tu save ensuite tu fais un clic droit sur le fichier et tu vas sur Run As-> Ant Build



une fois le jar créé tu ouvre une console dans le repertoire du jar tu fais jar -tvf test.jar

pour verifier si tout est dedans :)

si tout est ok tu fais java -jar test.jar



apres si ca run tu peux executer le jar par un double clic dessus (en fin seulement si ton os le permet)




WORA

Merci Twinuts 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Twinuts
cs_DARKSIDIOUS
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
- 4 mars 2006 à 13:27
0
Merci
Salut,

As tu essayé de le lancer à partir d'une console avec java "nomdetonfichierjar" ?

_

<spa></spa>
Commenter la réponse de cs_DARKSIDIOUS
melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 13:30
0
Merci
je viens de tester

j'ai :
Exception in thread "main" java.lang.NoClassDefFoundError: AzuriaServer/jar
Commenter la réponse de melvar
Twinuts
Messages postés
5292
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
12 novembre 2018
- 4 mars 2006 à 13:37
0
Merci
Salut,





tu à bien le champs Main-Class comptenant le nome de ta classe main de reseigné dans le fichier MANIFEST.MF de ton jar?????





Sous eclipse utilise plustot les scripts ant .... voici un exemple d'un build.xml qui fait un jar executable



le main et dans un classe Test qui est dans le package mes_tests



<?xml version="1.0" encoding="UTF-8"?>



<!-- petites variable pour le fun -->







<target name="packaging">

<!-- on fais le ménage avant -->

<delete file="${jar.name}" />



<!-- creéation du jar -->

<jar jarfile="${jar.name}" basedir="./bin" >

<manifest>









</manifest>

</jar>

</target>





avec ant tu peux faire encore plus q'un simple jar






WORA
Commenter la réponse de Twinuts
melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 13:55
0
Merci
j'essaie avec ANT
mais ca me met :

BUILD FAILED: /Applications/eclipse/workspace/AzuriaServer/ant/test.xml:16: Blanc requis avant des attributs.

je comprend pas bien ce qu'il veut dire par là...
Commenter la réponse de melvar
melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 14:07
0
Merci
yep, j'arrive à le compiler... mais ca me met toujours la même erreur :

Exception in thread "main" java.lang.NoClassDefFoundError: test/jar
Commenter la réponse de melvar
Twinuts
Messages postés
5292
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
12 novembre 2018
- 4 mars 2006 à 14:07
0
Merci
Salut,



peux tu me donner une copie de ce que tu as mis dans le script ant stp

et aussi me donner l'arborecencede ton projet genre



projetX

src

source java

bin

classe java

ant

script ant(nome le build.xml plutot que test)

....

WORA
Commenter la réponse de Twinuts
melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 14:12
0
Merci
bon... du coup g aussi une errer lorque je teste mon projet : Exception in thread "main" java.lang.NoClassDefFoundError

je sais que c un pb de classpath sans doutes mais comment procéder exactement ?
Commenter la réponse de melvar
melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 14:26
0
Merci
mon build.xml (repris de l'exemple du haut)

<?xml version="1.0" encoding="UTF-8"?>

<!-- petites variable pour le fun -->



<target name="packaging">
<!-- on fais le ménage avant -->
<delete file="${jar.name}" />

<!-- creéation du jar -->
<jar jarfile="${jar.name}" basedir="./bin" >
<manifest>



</manifest>
</jar>
</target>




Arborescence du projet :

>>AzuriaServer
>> src
>> (default package)
AzuriaServer.java
Commandes.java
... etc
>> JRE System Library [JVM ...
AzuriaServer.class
Commandes.class
RoomManager.class
etc...
build.xml

je précise que à présent mon projet, j'arrive à l'executer dans Eclipse, la génération du .jar marche, mais l'execution de celui-)ci me retourne toujours :
Exception in thread "main" java.lang.NoClassDefFoundError: test/jar
Commenter la réponse de melvar
melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 14:28
0
Merci
je sais pas pk mais mon code a pas été copié: je remet le code du build.xml

<?xml version="1.0" encoding="UTF-8"?>

<!-- petites variable pour le fun -->



<target name="packaging">
<!-- on fais le ménage avant -->
<delete file="${jar.name}" />

<!-- creéation du jar -->
<jar jarfile="${jar.name}" basedir="./bin" >
<manifest>



</manifest>
</jar>
</target>
Commenter la réponse de melvar
melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 14:29
0
Merci
décidement

<?xml version="1.0" encoding="UTF-8"?>

    <!-- petites variable pour le fun -->
   
   
  
    <target name="packaging">
        <!-- on fais le ménage avant -->
        <delete file="${jar.name}" />
       
        <!-- creéation du jar -->
        <jar jarfile="${jar.name}" basedir="./bin" >
            <manifest>
               
               
               
             </manifest>
        </jar>
    </target>
Commenter la réponse de melvar
melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 14:31
0
Merci
bien bien... il refuse donc de me publier ce code...

bref c exactement le mm qu'en haut mais avec :
property name="main.class" value="AzuriaServer.AzuriaServer"/>
Commenter la réponse de melvar
Twinuts
Messages postés
5292
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
12 novembre 2018
- 4 mars 2006 à 14:32
0
Merci
Ton Main-Class(dans le manifest) c'est bien AzuriaServer (sans le .class) ?

Tu utilise une librairie externe genre un autre jar que la jvm?

Essai d'executer le jar avec java -jar test.jar

Tu n'a pas recopié betement le script qd meme tu l'as adapté hein, hein, dis dis :)

WORA
Commenter la réponse de Twinuts
Twinuts
Messages postés
5292
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
12 novembre 2018
- 4 mars 2006 à 14:37
0
Merci
property name="main.class" value="AzuriaServer.AzuriaServer"/>


c'est faux...

le premier champs de la balise main.class dans mon exemple c'est le nom
d'un package mais toi d'apres ce que je vois tu n'as pas de package
donc met simplement le nom de la class






bon pour ne pas etre pourri par l'arborecence de ton projet deplace les
source du rep src ensuite tu supprime le rep src et la tu fais un
clique droit sur le projet tu va sur new->source folder et tu lui
met src comme nom et tu replace tes .java dans le repertoire src comm
ca les .class iront dans le repertoire bin qui va etre créé (histoire
d'etre plus propre) :)


WORA
Commenter la réponse de Twinuts
melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 14:43
0
Merci
vi vi ds le manifest j'ai bien AzuriaServer
Commenter la réponse de melvar
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Dernière intervention
29 janvier 2010
- 4 mars 2006 à 14:50
0
Merci
ben quand je fait un export il me propose de mettre le nom de la classe main et il me fait le manifest et tout !!!
meme pas besoin de ant ou tout autre chose

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Commenter la réponse de sheorogath
Twinuts
Messages postés
5292
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
12 novembre 2018
- 4 mars 2006 à 14:53
0
Merci
L'avantage de ant c'est qu'il peut faire bien plus qu'un simple jar......

WORA
Commenter la réponse de Twinuts
melvar
Messages postés
22
Date d'inscription
samedi 11 mai 2002
Dernière intervention
1 août 2006
- 4 mars 2006 à 14:54
0
Merci
je sais, mais j'ai le mm pb avec un export
Commenter la réponse de melvar
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Dernière intervention
29 janvier 2010
- 4 mars 2006 à 14:54
0
Merci
oui javadoc compilation , etc...

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Commenter la réponse de sheorogath
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Dernière intervention
29 janvier 2010
- 4 mars 2006 à 14:57
0
Merci
http://www.javafr.com/tutoriaux/CREER-JAR-EXECUTABLE-AVEC-ECLIPSE_218.aspx

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Commenter la réponse de sheorogath

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.