.JAR qui s'ouvre avec WinRAR

Résolu/Fermé
Utilisateur anonyme - 1 avril 2013 à 17:01
 DarkSpectrum - 3 sept. 2015 à 16:52
Bonjour,


Je ne suis absolument pas un pro en java...

Grace à un tuto ( https://openclassrooms.com/fr/courses ) j'ai réussi à faire le code pour la calculatrice. Mais quand je veux l'enregistrer en .jar (comme dans le tuto) je me retrouve avec plein de .class dans un fichier winrar.

Le code est:

public class Main { (J'ai laissé Main plutot que le nom de mon fichier sinon il met deserreurs)
public static void main(String[] args) {
Calculatrice calculette = new Calculatrice();
}
}
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Calculatrice extends JFrame {
private JPanel container = new JPanel();
//Tableau stockant les éléments à afficher dans la calculatrice
String[] tab_string = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ".", "=", "C", "+", "-", "*", "/"};
//Un bouton par élément à afficher
JButton[] tab_button = new JButton[tab_string.length];
private JLabel ecran = new JLabel();
private Dimension dim = new Dimension(50, 40);
private Dimension dim2 = new Dimension(50, 31);
private double chiffre1;
private boolean clicOperateur = false, update = false;
private String operateur = "";

public Calculatrice(){
this.setSize(240, 260);
this.setTitle("Calculette");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setResizable(false);
//On initialise le conteneur avec tous les composants
initComposant();
//On ajoute le conteneur
this.setContentPane(container);
this.setVisible(true);
}

private void initComposant(){
//On définit la police d'écriture à utiliser
Font police = new Font("Arial", Font.BOLD, 20);
ecran = new JLabel("0");
ecran.setFont(police);
//On aligne les informations à droite dans le JLabel
ecran.setHorizontalAlignment(JLabel.RIGHT);
ecran.setPreferredSize(new Dimension(220, 20));
JPanel operateur = new JPanel();
operateur.setPreferredSize(new Dimension(55, 225));
JPanel chiffre = new JPanel();
chiffre.setPreferredSize(new Dimension(165, 225));
JPanel panEcran = new JPanel();
panEcran.setPreferredSize(new Dimension(220, 30));

//On parcourt le tableau initialisé
//afin de créer nos boutons
for(int i = 0; i < tab_string.length; i++){
tab_button[i] = new JButton(tab_string[i]);
tab_button[i].setPreferredSize(dim);
switch(i){
//Pour chaque élément situé à la fin du tableau
//et qui n'est pas un chiffre
//on définit le comportement à avoir grâce à un listener
case 11 :
tab_button[i].addActionListener(new EgalListener());
chiffre.add(tab_button[i]);
break;
case 12 :
tab_button[i].setForeground(Color.red);
tab_button[i].addActionListener(new ResetListener());
operateur.add(tab_button[i]);
break;
case 13 :
tab_button[i].addActionListener(new PlusListener());
tab_button[i].setPreferredSize(dim2);
operateur.add(tab_button[i]);
break;
case 14 :
tab_button[i].addActionListener(new MoinsListener());
tab_button[i].setPreferredSize(dim2);
operateur.add(tab_button[i]);
break;
case 15 :
tab_button[i].addActionListener(new MultiListener());
tab_button[i].setPreferredSize(dim2);
operateur.add(tab_button[i]);
break;
case 16 :
tab_button[i].addActionListener(new DivListener());
tab_button[i].setPreferredSize(dim2);
operateur.add(tab_button[i]);
break;
default :
//Par défaut, ce sont les premiers éléments du tableau
//donc des chiffres, on affecte alors le bon listener
chiffre.add(tab_button[i]);
tab_button[i].addActionListener(new ChiffreListener());
break;
}
}
panEcran.add(ecran);
panEcran.setBorder(BorderFactory.createLineBorder(Color.black));
container.add(panEcran, BorderLayout.NORTH);
container.add(chiffre, BorderLayout.CENTER);
container.add(operateur, BorderLayout.EAST);
}

//Méthode permettant d'effectuer un calcul selon l'opérateur sélectionné
private void calcul(){
if(operateur.equals("+")){
chiffre1 = chiffre1 +
Double.valueOf(ecran.getText()).doubleValue();
ecran.setText(String.valueOf(chiffre1));
}
if(operateur.equals("-")){
chiffre1 = chiffre1 -
Double.valueOf(ecran.getText()).doubleValue();
ecran.setText(String.valueOf(chiffre1));
}
if(operateur.equals("*")){
chiffre1 = chiffre1 *
Double.valueOf(ecran.getText()).doubleValue();
ecran.setText(String.valueOf(chiffre1));
}
if(operateur.equals("/")){
try{
chiffre1 = chiffre1 /
Double.valueOf(ecran.getText()).doubleValue();
ecran.setText(String.valueOf(chiffre1));
} catch(ArithmeticException e) {
ecran.setText("0");
}
}
}

//Listener utilisé pour les chiffres
//Permet de stocker les chiffres et de les afficher
class ChiffreListener implements ActionListener {
public void actionPerformed(ActionEvent e){
//On affiche le chiffre additionnel dans le label
String str = ((JButton)e.getSource()).getText();
if(update){
update = false;
}
else{
if(!ecran.getText().equals("0"))
str = ecran.getText() + str;
}
ecran.setText(str);
}
}

//Listener affecté au bouton =
class EgalListener implements ActionListener {
public void actionPerformed(ActionEvent arg0){
calcul();
update = true;
clicOperateur = false;
}
}

//Listener affecté au bouton +
class PlusListener implements ActionListener {
public void actionPerformed(ActionEvent arg0){
if(clicOperateur){
calcul();
ecran.setText(String.valueOf(chiffre1));
}
else{
chiffre1 = Double.valueOf(ecran.getText()).doubleValue();
clicOperateur = true;
}
operateur = "+";
update = true;
}
}

//Listener affecté au bouton -
class MoinsListener implements ActionListener {
public void actionPerformed(ActionEvent arg0){
if(clicOperateur){
calcul();
ecran.setText(String.valueOf(chiffre1));
}
else{
chiffre1 = Double.valueOf(ecran.getText()).doubleValue();
clicOperateur = true;
}
operateur = "-";
update = true;
}
}

//Listener affecté au bouton *
class MultiListener implements ActionListener {
public void actionPerformed(ActionEvent arg0){
if(clicOperateur){
calcul();
ecran.setText(String.valueOf(chiffre1));
}
else{
chiffre1 = Double.valueOf(ecran.getText()).doubleValue();
clicOperateur = true;
}
operateur = "*";
update = true;
}
}

//Listener affecté au bouton /
class DivListener implements ActionListener {
public void actionPerformed(ActionEvent arg0){
if(clicOperateur){
calcul();
ecran.setText(String.valueOf(chiffre1));
}
else{
chiffre1 = Double.valueOf(ecran.getText()).doubleValue();
clicOperateur = true;
}
operateur = "/";
update = true;
}
}

//Listener affecté au bouton de remise à zéro
class ResetListener implements ActionListener {
public void actionPerformed(ActionEvent arg0){
clicOperateur = false;
update = true;
chiffre1 = 0;
operateur = "";
ecran.setText("");
}
}
}


Donc si vous voyez un problème dans le code (je l'ai essayé en mettant Calculatrice (nom de mon fichier) à la place de main, en vain..)..
D'ailleurs, si je ne met pas "public class Main { " je ne peut pas choisir le "main class" à la fin (Toujours dans https://openclassrooms.com/fr/courses )..

Merci d'avance pour votre aide
A voir également:

9 réponses

Utilisateur anonyme
2 avril 2013 à 10:28
Salut et merci pour ta réponse.

Non, ça ne marche pas, il me l'ouvre avec soit wordpad soit avec java qui ouvre cmd.exe et qui se ferme tout de suite.

Sinon, j'ai essayé de mettre .exe a la place du .class, il me dit que ma version windows n'est pas bonne (64bits) il me le fait avec toutes les calculatrices que j'essaye de faire...

chat
0
Utilisateur anonyme
2 avril 2013 à 10:32
Mes fichiers winrar se sont bien mis en fichiers java mais ils ne s'ouvrent pas... J'ai un truc pas bon dans le code?
0
Le problème ne vient pas de ton code, il contient une classe main donc c'est bon.
Moi quand j'exporte des jar à executer je sélectionne :
"Runnable JAR file " et non pas juste "jar file".
Ensuite tu renseigne les parties "launch configuration" et "export destination" et tu clique sur "Finish" et voilà.
0
Utilisateur anonyme
Modifié le 4 oct. 2022 à 14:45

Ok, j'essayerai ça tout a l'heure.

Et il est possible de le mettre en .exe pour que ça fasse comme un logiciel? Ou il faut utiliser un autre logiciel que celui pour les programmations java?

0
Utilisateur anonyme
Modifié le 4 oct. 2022 à 14:45

Re

Alors quand je veux l'enregistrer en runnable jar file, il faut choisir un "launch configuration" or quand j'en cherche un, je n'en ai aucun qui s'affiche... Il me met tout blanc. J'ai beau attendre, rien. Il faut en créer un?

ça fait ça: https://www.turbopix.fr/i/7Z18Pz6aYy.png

0
tu peux en créer un dans Run => Run configuration => dans Java Application clic droit New
0
Utilisateur anonyme
2 avril 2013 à 18:00
Il s'est bien mis en .jar, quand je double clic, ça charge mais après rien... Il ne s'ouvre pas...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
2 avril 2013 à 20:36
J'ai ouvret calculette.jar avec winrar puis je suis allé dans META INF. Dedans j'ai le fichier manifest que j'ai ouvert avec le bloc notes. Contenu:

Manifest-Version: 1.0
Class-Path: .
Main-Class: Main


Remplacé par:

Manifest-Version: 1.0
Main-Class: Main

(Avec l'espace en dessous de la ligne main)
par contre j'ai pas compris la partie:

"2) en ligne de commandes, tu te déplaces jusqu'à ton fichier bin et tu tapes :

jar cmvf manifest.txt Calcultrice.jar *.class"
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
2 avril 2013 à 20:46
Ce que j'appelle ton dossier "bin" c'est là où tu compiles tes fichiers Java, c'est à dire là où tu as tout tes fichiers .class après compilation (c'est là que les mets Eclipse par défaut).
Et c'est aussi là qu'il faut mettre le fichier manifest.txt (en fait son nom importe peu ici).

Ensuite quand tu ouvres une invite de commandes, par défaut tu dois être dans ton dossier personnel, il faut alors se déplacer jusqu'à ce dossier "bin" avec la commande "cd"

Exemple : cd C:\Users\Moi\Workspace\Calculatrice\bin

Une fois au bon endroit tu lances la commande que je t'ai donné, "jar cvmf..." qui va te créer un fichier JAR directement avec Java, sans utiliser les paramètres d'Eclipse qui rajoutent un dossier org/eclipse... qui ne sert à rien et augmente la taille du Jar.
0
Utilisateur anonyme
Modifié le 4 oct. 2022 à 14:45

Donc j'ai pris le fichier manifest de meta inf, je l'ai déplacé (mis) avec les fichiers class de "calculette.jar" et je l'ai démarré... L'invite de commande apparait 2 sec puis se referme.. J'ai pas du bien comprendre...

0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
3 avril 2013 à 18:32
Effaces ton fichier JAR, on va en refaire un manuellement, tu n'as plus besoin de celui d'avant !

Tu vas dans ton workspace d'Eclipse, tu vas avoir un dossier pour ton projet et dedans les dossiers src et bin.

Dans ton dossier bin, tu dois avoir plusieurs fichiers .class (en particulier Calculatrice.class et Main.class). Dans ce dossier bin tu créés un fichier (peu importe le nom, par exemple "manifest.txt") avec le contenu que j'indiquais hier :

Manifest-Version: 1.0
Main-Class: Main

Pour simplifier les invites de commandes, tu vas maintenant créer un autre fichier dans ce dossier, là encore peu importe le nom, mais par contre il est important que ce soit une extension .cmd, par exemple "makejar.cmd" avec ce contenu :

jar cmvf manifest.txt Calculatrice.jar *.class
java -jar Calculatrice.jar
pause

Il te reste plus alors qu'à cliquer sur ce fichier makejar.cmd pour ouvrir une invite de commande qui va créer ton fichier jar exécutable en prenant d'une part le fichier manifest.txt et d'autre part les fichiers .class qui se trouvent tous dans le dossier bin.
Cela va te créer un fichier Calculatrice.jar et le lancer automatiquement. Par la suite tu pourras exécuter directement ton fichier Calculatrice.jar en cliquant dessus, même si tu le déplaces ailleurs sur ton ordinateur ou sur un autre ordinateur (remarque : le clic direct sur un JAR fonctionne sous Windows mais pas forcément sous les autres systèmes)
0
Utilisateur anonyme
Modifié le 4 oct. 2022 à 14:46

Je suppose que quand tu dis bin, c'est quand j'enregistre en executable jar, j'ai calculatrice.jar.

je l'ai ouvert avec winrar, j'ai créé un fichier .txt que j'ai nommé manifest avec ton contenu. Je l'ai mis avec mes fichiers .class. (sachant que j'en ai un de manifest dans META-INF). J'ai ensuite créé un fichier que j'ai nommé Makejar.cmd avec ton contenu. Je l'ai lancé (une fois qu'il était avec les autres dossiers .class).

Résultat:

C:\User[...]>jar cmvf manifest.txt Calculatrice.jar *.class
'jar' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

C:\User[...]>java -jar Calculatrice.jar
aucun attribut manifest principal dans Calculatrice.jar

C:\User[...]pause
Appuyez sur une touche pour continuer...


Voilà :/
En tout cas, merci de ta patience et de tes réponses :)

 

0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
4 avril 2013 à 18:50
"Je suppose que quand tu dis bin, c'est quand j'enregistre en executable jar"
Non. Il ne faut pas supposer, mais lire ce que j'ai mis !
"Effaces ton fichier JAR (...) tu n'as plus besoin de celui d'avant !"
"Tu vas dans ton workspace d'Eclipse, tu vas avoir un dossier pour ton projet et dedans les dossiers src et souligne>bin</souligne>."

"je l'ai ouvert avec winrar"
Non. Là encore il faut lire ce que je dis.
"un JAR exécutable s'ouvre avec Java (pas avec WinRar ni Wordpad)"

"Je l'ai mis avec mes fichiers .class. (sachant que j'en ai un de manifest dans META-INF)"
C'est justement pour éviter d'avoir ce fichier manifest (qui ne fonctionne pas) que je t'avais dis de supprimer le JAR, pour repartir directement de tes fichier .class que Eclipse a créé dans le dossier bin (que tu n'as visiblement pas encore trouvé)

"'jar' n'est pas reconnu en tant que commande interne"
Ca c'est parce que tu as mal configuré ton installation de la JDK, tu devrais avoir une variable d'environnement qui pointe vers le dossier bin de ta JDK (qui n'a rien à voir avec le dossier bin de ton projet)

Voici comment faire la configuration (pour Windows 7, adaptes au besoin)
Tu vas dans Ordinateur, tu as un onglet "Propriété système", puis sur la colonne de gauche "paramètres système avancés". Là tu as un bouton "variables d'environnement". Tu créés une nouvelle variable pour l'utilisateur, son nom est "Path" et la valeur dépend de ton installation de la JDK, mais par défaut ce doit être "C:\Program Files\Java\jdk1.7.0_17\bin;%Path%"

Une fois que tu auras configuré ta variable d'environnement "jar" sera reconnu comme commande, il faut donc que tu ailles dans le dossier bin du workspace pour retrouver les fichiers .class compilés par Eclipse (pas les .class du JAR vu que tu l'auras supprimé...). Et une fois que tu feras bien la même manipulation que moi, ton fichier .cmd te permettra de créer un vrai fichier .jar qui fonctionne.
0
Utilisateur anonyme
Modifié le 4 oct. 2022 à 14:46

1) J'ai supprimé tout les Jar que j'avais avant y compris le projet dans Eclipse. Quand je vais sur le workspace et que je fais nouveau projet, je choisi java project, ça me crée un nouveau projet. Dans ce projet, il y a SRC, avec dedans (default package), avec dedans Calculatrice.java. Quand je clique sur Calculatrice.java, mon projet s'ouvre (alors que j'ai tout supprimé). Et il y a JRE System Library avec dedans plein de .jar.

2) Si je l'ouvre avec winrar, c'est parce que je ne peux pas l'ouvrir avec java (sauf si tu parle d'Eclipse) car une fenetre de cmd.exe s'ouvre et se referme instantanément.

3) Pas de fichier Bin mais seulement ceux que je t'ai cités dans le "1)". Sinon, il faut supprimer META-INF et remplacer le manifest?

4) Je pense que le problème viens de là. J'ai installé JDK mais je n'ai que le winrar avec "demo", "sample" et release (qui n'a aucune extension). Il y a plein de dossiers dans "demo" et "sample" donc je ne sais pas si j'aurais du trouver un setup.exe un truc dans le genre ou déplacer les fichiers de sample et demo dans Eclipse etc... Je pense que c'est à cause de ça car c'est la seule partie sur laquelle j'ai bloqué.

5) Je suis sur "variable d'environnement" mais comme je pense que JDK est mal mis (même pas installé, si il faut l'installer) je pense que ce n'est pas la peine de chercher car tu as dit "la valeur dépend de ton installation de la JDK" donc je pense qu'il faut d'abord faire ce qu'il faut avec JDK et le problème devrait se résoudre.

Encore merci pour ta patience ^.^'

 

0
Utilisateur anonyme
4 avril 2013 à 19:43
Ps: Je fais en "1)", "2)" pour que ce soit plus facile parce que les étapes s'embrouillent un peu (pour moi en tout cas)
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
4 avril 2013 à 20:34
1) "Quand je clique sur Calculatrice.java, mon projet s'ouvre (alors que j'ai tout supprimé)."
Supprimer le projet d'Eclipse ne supprime pas les fichiers de ton dossier src. Il est donc normal que tu retrouves avec ce que tu avais dedans. (plus de détail dans le 3)

"il y a JRE System Library avec dedans plein de .jar."
Ne supprimes pas tout ça, les seuls JAR qu'il fallait supprimer ce sont ceux que tu as créés pour ton projet afin de ne pas mélanger les .class du dossier bin, le contenu généré automatiquement par Eclipse (en particulier le MANIFEST.MF), et l'opération manuelle que j'essaye de te faire faire.

2) "une fenetre de cmd.exe s'ouvre et se referme instantanément."
Là je pense que c'est lié au fait que ta configuration n'est pas bonne, il doit afficher un message d'erreur "n'est pas reconnu en tant que commande interne" et se fermer aussitôt.

3) "Pas de fichier Bin mais seulement ceux que je t'ai cités"
Pourtant il doit bien être au même endroit que le dossier src, puisque c'est là qu'il "range" les fichiers .class qu'il compile. Cependant ce n'est pas visible depuis Eclipse, il faut que tu ailles dans les dossiers de ton Workspace (si tu ne connais vraiment pas le chemin de ton Workspace, tu peux utiliser l'onglet Project > Properties, tu verras s'afficher le chemin d'accès de ton projet). Tu y trouveras donc ton dossier src (y compris ce que tu avais fait avant de supprimer le projet d'Eclipse) ainsi que le dossier bin, qui est généré automatiquement après la première compilation, et qui contient tous les fichiers .class

"Sinon, il faut supprimer META-INF et remplacer le manifest?"
Tu ne devrais plus avoir de META-INF puisque tu as supprimé les fichiers JAR que tu as créés.

4) "J'ai installé JDK mais je n'ai que le winrar (...)"
WinRar n'a absolument aucun rapport avec Java, si tu tombes sur WinRar c'est que tu t'es trompé quelque part car tu n'en as pas besoin pour faire du Java !

5) "je pense que JDK est mal mis (même pas installé, si il faut l'installer)"
S'il n'était pas installé du tout, tu n'aurais jamais pu compiler ton projet, donc tu n'aurais jamais pu tester que ton code fonctionne, et voir ta calculatrice s'afficher... En particulier tu n'aurais pas pu obtenir les fichiers .class que tu avais dans ton JAR....
Alors soit j'ai raté un épisode, soit tout ça tu l'avais bien à un moment non ?
Sinon pour installer la JDK c'est ici : Java SE Development Kit 7 Downloads.
0
Utilisateur anonyme
4 avril 2013 à 20:48
1) Je pense que le 1) est bon.

2) Non, ça arrive vraiment comme ça et j'ai essayé de cliquer assez vite dessus pour voir si il y avait quelque chose en particulier de marqué mais non, c'est juste la fenêtre de cmd.exe, rien de plus, qui se ferme tout de suite.

3) Enfin! J'ai le dossier bin, il était bien sur le bureau pourtant... Mais bon, maintenant je l'ai au moins. Les fichiers JAR que j'ai créé, c'est quand j'enregistrai le projet en jar ou en jar executable? C'est bien ceux là qu'il fallait supprimer?

4) J'ai bien téléchargé JDK sur le lien que tu m'as donné dans le 5) mais il s'ouvre avec Winrar la 1ere fois que je l'ouvre. Sinon, j'ai bien un dossier de fichiers avec toujours demo et sample mais je ne sais pas ou aller dedans ni quoi faire car il y a plein de fichiers qui ramènent à pleins de fichiers etc.

5) Si par installé il faut juste avoir le dossier JDK sur l'ordinateur, alors il est effectivement installé. Je ne sais pas si le code fonctionne en fait... Je l'ai pris sur le lien que je t'ai donné au début mais il affiche 2 erreurs alors que le code est même pas encore mis... Si tu veux tester, voir si le code fonctionne, il est tout en haut et (normalement) complet. Ma calculatrice ne s'est jamais affichée, c'est bien pour ça que j'ai posté une demande d'aide concernant le code...
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
Modifié le 4 oct. 2022 à 14:47

"le chemin d'accès spécifié est introuvable"
Là encore, je ne peux pas deviner ta configuration, à toi d'adapter les chemins d'accès à ceux de ton installation de Java.

"Exception in thread "main" java.lang.Error: Unresolved compilation problems"
Ça c'est une erreur parce que tu exécutes le code avec Eclipse !
Utilises le fichier .cmd, on verra Eclipse plus tard (ou pas).

À part les chemins d'accès, tu devrais avoir tout comme dans cette vidéo :

     


0
Utilisateur anonyme
6 avril 2013 à 18:09
"C:\Program Files\Java\jdk1.7.0_17\bin\javac.exe" Main.java

Moi dans C c'est ProgramFiles(x86). J'ai bien java, jdk1.7.0_17 mais dedans j'ai sample et demo. Celui ou j'ai javac.exe (c'est meme pas javac.exe mais javacpl.exe) c'est dans jre7 puis bin.

"C:\Program Files\Java\jre7\bin\java.exe" Main

Dans jre7 j'ai bien bin et java.exe mais encore une fois c'est dans ProgramFiles(x86).

"C:\Program Files\Java\jdk1.7.0_17\bin\jar.exe" cmvf manifest.txt Calculatrice.jar *.class

Toujours pas de bin dans jdk1.7.0_17 donc pas de jar.exe et pas non plus dans jre7. Dans jdk-7u17-windows-x64.exe, j'ai jre.msi qui est en .msi et les autres sont des fichiers .MST que je ne peux pas ouvrir (sauf avec bloc notes).

"C:\Program Files\Java\jre7\bin\java.exe" -jar Calculatrice.jar
pause

Je ne comprend pas bien le "-jar Calculatrice.jar" mais je suppose que c'est ce qui doit le créer.
Dans java j'ai bien jre7. Dans jre7 j'ai bien bin et dans bin, java.exe. Seulement que j'ai ProgramFiles (x86).

Voila, c'est tout ce que j'ai cette fois ci.
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
6 avril 2013 à 18:21
"J'ai bien java, jdk1.7.0_17 mais dedans j'ai sample et demo."
C'est que tu n'as pas installé la bonne chose !

Dans la page de téléchargement :
https://www.oracle.com/java/technologies/javase/upgrade.html

Tu as plusieurs listes, mais ne regarde que la première "Java SE Development Kit 7u17", et tu télécharges jdk-7u17-windows-x64.exe.

"Dans jdk-7u17-windows-x64.exe, j'ai jre.msi qui est en .msi"
Apparemment tu l'as déjà téléchargé vu ce que tu dis, mais il faut cliquer dessus pour démarrer le programme d'installation, je ne vois pas où est-ce que tu trouves des .msi ou .mst...

"Celui ou j'ai javac.exe (c'est meme pas javac.exe mais javacpl.exe) c'est dans jre7 puis bin."
Ça, ce n'est pas la JDK, c'est la JRE, ça permet de lire les programmes Java, mais pas des les fabriquer !

"Je ne comprend pas bien le "-jar Calculatrice.jar""
Ca permet de dire qu'il faut ouvrir le programme Java qui est contenu dans le fichier JAR Calculatrice.jar, si on ne lui précises rien il va essayer de l'ouvrir comme si c'était un fichier .class (comme dans ma 2è ligne du fichier .cmd)
0
Utilisateur anonyme
6 avril 2013 à 18:35
Quand je lance jdk-7u17-windows-x64.exe, une fenêtre me dit: "This software has already been installed on your computer. Would you like to reinstall it?"
0
Utilisateur anonyme
6 avril 2013 à 18:37
Je me suis peut etre trimpé sur l'installation. J'ai téléchargé Windows x64 je vais essayer Windows x86 ça marchera peut être...
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
6 avril 2013 à 18:42
Pas la peine d'installer les deux. S'il est déjà installé, il faut savoir où tu l'as mis !
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
Modifié par KX le 1/04/2013 à 21:11
"je me retrouve avec plein de .class dans un fichier winrar"
C'est normal, un fichier .jar est un simple fichier .zip qui contient toutes tes classes.
Il faut modifier la configuration de WinRar pour que les JAR soient ouverts par Java.

Tu ouvres WinRar (soit directement, soit depuis n'importe quel fichier qu'il ouvre)
Tu vas dans Options > Paramètres > Intégration, et tu décoches la case "JAR"
Tu fais OK, et ça devrait être régler.La confiance n'exclut pas le contrôle
-1
mrc ca m a aider aussi
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
2 avril 2013 à 18:47
Il existe deux types de fichiers JAR, ceux qui sont éxécutables, et ceux qui ne le sont pas, la différence c'est que l'un contient un fichier particulier "MANIFEST.FM" qui est placé dans le dossier "META-INF" et qui contient la classe principale à exécuter.
Mais de toute façon, un JAR exécutable s'ouvre avec Java (pas avec WinRar ni Wordpad) et en aucun il ne s'agit d'un fichier .exe !

Personnellement je préfère faire ça en ligne de commande, parce que Eclipse a tendance a rajouter des informations inutiles dans le JAR. Voici comment faire :

1) tu créés un fichier "manifest.txt" dans ton dossier "bin" avec ce contenu :

Manifest-Version: 1.0
Main-Class: Main

Attention :
ne pas oublier de sauter une ligne après "Main" (tu dois donc avoir 3 lignes)

2) en ligne de commandes, tu te déplaces jusqu'à ton fichier bin et tu tapes :

jar cmvf manifest.txt Calcultrice.jar *.class

Cela devrait te donner un JAR tout propre et fonctionnel. Reste alors à cliquer dessus.
-1