Bonjour,
J'ai terminé mon application et je voudrais la rendre executable(pour ne pas avoir a transporter toute la plate forme eclipse et executer a chaque fois)
Comment faire??
Merci pour votre aide...
Bonjour,
J'ai terminé mon application et je voudrais la rendre executable(pour ne pas avoir a transporter toute la plate forme eclipse et executer a chaque fois)
Comment faire??
Merci pour votre aide...
Tu fais un jar de ton projet et tu le rend exécutable.
Tout est dans la FAQ.
Merci pour la réponse, j'ai vu les solutions, mais c'est pas evident car ça a très bien marché sur une autre application simple.
Je m'explique ...
j'ai fais une aplication et j'ai rajouté beaucoup de fichiers externes.jar(Propriétés->chemin de génération java->Bibliotheque->Ajouter des fichier jar externes)qui sont nécessaires pour l'application.
Est ce que ça peu causer un probleme?
j'ai essayé ça aussi :comment créer un jar executable
http://java.developpez.com/faq/java/...on#creationJar
dans le fichier il y a:
Class-Path: .\archive1.jar .\archive2.jar
archive1.jar et archive2.jar est ce qu'il faut que je les crée avant de creer mon application.jar definitive ?(je n'ai pas bien compris)
j'ai lancer la commande jar dans la console; voici le résultat:
C:\eclipse\Java\jdk1.5.0_11\bin>jar cvfm Proj.jar META-INF/MANIFEST.MF
manifest ajouté
C:\eclipse\Java\jdk1.5.0_11\bin>java -jar Proj.jar
Exception in thread "main" java.lang.NoClassDefFoundError: Start
et pourtant mon main se trouve dans paquet=>Frame.java
que dois je mettre a la place de Main-Class: Start ?
redonner moi svp les etapes a suivre.
est ce que quelqu'un veut bien m'aider.
Merci pour votre aide...
Il faut remplacer les lignes que tu vois dans la FAQ ! Il s'agit d'un exemple.
Pour archive1.jar et archive2.jar c'est aussi un exemple de comment ajouter des liens vers les jars externes nécessaires à ton application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Main-Class: com.toto.package.TaClasseAToi Class-Path: .\archive1.jar .\archive2.jar
Pour ne pas te compliquer la vie à chaque fois que tu veux faire le jar, tu peux faire un script ant :
Remplace simplement les valeurs (nom du projet, classpath, etc...) par tes valeurs à toi, ensuite ouvre la perspective ant dans eclipse, ajoute y ce fichier que tu nommes build.xml (de préférence).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?xml version="1.0"?> <project name="myfreetv" default="jar" basedir="."> <property name="project.name" value="myfreetv" /> <property name="src" value="src/" /> <property name="build" value="bin/" /> <property name="dist" value="dist/" /> <property name="lib" value="lib/" /> <property name="main" value="net.sourceforge.myfreetv.view.MyFreeTV" /> <target name="init"> <mkdir dir="${build}" /> <mkdir dir="${dist}" /> </target> <target name="compile" description="Compile the project" depends="init"> <javac fork="yes" srcdir="${src}" destdir="${build}" classpath="${lib}" /> </target> <target name="jar" description="JARs the Task" depends="compile"> <jar destfile="${dist}/${project.name}.jar" basedir="${build}" compress="true"> <manifest> <attribute name="Built-By" value="${user.name}" /> <attribute name="Main-Class" value="${main}" /> <attribute name="Class-path" value=". lib/Trendy_1.8.jar lib/jawin.jar lib/xpp3_min-1.1.3.4.O.jar lib/xstream-1.2.1.jar" /> </manifest> </jar> </target> </project>
Et voilà maintenant tu peux jarer en 1 clic![]()
Mon fichier MANIFEST.MF
------------------------
Manifest-Version: 1.0
Created-By: 1.4.1_01 (Sun Microsystems Inc.)
Main-Class: paquet.Frame
Class-Path: .\xmlParserAPIs.jar .\xml.jar etc...
------------------------
Ma classe principale
------------------------
------------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package paquet; import java.awt.Color; import javax.swing.JFrame; ..... public class Frame extends JFrame { .... public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { Frame thisClass = new Frame(); thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); thisClass.setVisible(true); } }); } ....
et voici l'arborescence
projet
paquet
frame.java
frame => la classe
main
------------------------------------------------
C:\eclipse\Java\jdk1.5.0_11\bin>jar cvfm Projet.jar META-INF/MANIFEST.MF
=>Les paquets sont bien ajoutés
mais quand je lance la commande suivante:
C:\eclipse\Java\jdk1.5.0_11\bin>java -jar Projet.jar
=>Exception in thread "main" java.lang.NoClassDefFoundError: paquet/Frame
pourtant main est bien dans frame qui est dans paquet
ça devient impossible![]()
Merci de revoir avec moi svp
Partager