Java : erreur execution Linux
Fermé
Ymaq
Messages postés
45
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
22 février 2013
-
5 mai 2011 à 18:42
Ymaq Messages postés 45 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 22 février 2013 - 6 mai 2011 à 18:40
Ymaq Messages postés 45 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 22 février 2013 - 6 mai 2011 à 18:40
A voir également:
- Java : erreur execution Linux
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Java runtime - Télécharger - Langages
2 réponses
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
5 mai 2011 à 20:13
5 mai 2011 à 20:13
Normalement, il n'y a même pas besoin de recompiler sous Linux, tu peux compiler sous Windows, copier-coller tes fichiers .class ou .jar sous Linux et les lancer directement comme ça.
Dans un premier temps je pencherais pour une incompatibilité des versions même si tu as installé les bonnes jdk, peut-être que le PATH qui défini javac ne correspond pas à la jdk que tu as installé mais à une version plus ancienne.
Pour t'aider il nous faudrait l'intitulé des deux erreurs obtenues, et éventuellement le code source associé.
Dans un premier temps je pencherais pour une incompatibilité des versions même si tu as installé les bonnes jdk, peut-être que le PATH qui défini javac ne correspond pas à la jdk que tu as installé mais à une version plus ancienne.
Pour t'aider il nous faudrait l'intitulé des deux erreurs obtenues, et éventuellement le code source associé.
Ymaq
Messages postés
45
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
22 février 2013
1
6 mai 2011 à 00:36
6 mai 2011 à 00:36
Alors, j'ai recréé le problème en codant 3 classes plus petites, pour ne pas lire des lignes et des lignes de code ^^
En gros, la classe Main crée - ou plutôt doit créer - une fenetre avec la classe "FenetreConfig", qui contient un bouton validation.
Ce bouton, quand on clique dessus, doit fermer la fenetre FenetreConfig, créer une nouvelle fenetre "TestFenetre", et l'afficher.
--code Main.java--
--code ConfigFenetre.java--
--code TestFenetre.java--
Voilà pour les codes...
Maintenant les erreurs.
Lors de la compilation, juste des warnings sur des lignes de commentaires, à cause d'accents...
Mais lors de l'exécution, ça me retourne ces différentes erreurs :
Exception in thread "main" java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)
at java.awt.Window.<init>(Window.java:437)
at java.awt.Frame.<init>(Frame.java:419)
at java.awt.Frame.<init>(Frame.java:384)
at javax.swing.JFrame.<init>(JFrame.java:174)
at ConfigFenetre.<init>(ConfigFenetre.java:25)
at Main.main(Main.java:8)
(J'ai l'impression que ces erreurs concerne l'affichage de ma fenêtre java... enfin, la création d'une fenetre java en général... ?)
Merci.
Ymaq
En gros, la classe Main crée - ou plutôt doit créer - une fenetre avec la classe "FenetreConfig", qui contient un bouton validation.
Ce bouton, quand on clique dessus, doit fermer la fenetre FenetreConfig, créer une nouvelle fenetre "TestFenetre", et l'afficher.
--code Main.java--
import java.awt.*; import javax.swing.*; import javax.swing.JFrame; public class Main { public static void main(String[] args){ ConfigFenetre fen2 = new ConfigFenetre(); } }
--code ConfigFenetre.java--
import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.AbstractButton; import javax.swing.ButtonGroup; import javax.swing.GroupLayout; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.BoxLayout; import javax.swing.JButton; public class ConfigFenetre extends JFrame implements ActionListener { JPanel container1 = new JPanel(); private JButton validation; //constructeur public ConfigFenetre(){ this.setTitle("Labyrinthe - settings"); this.setSize(270, 220); this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLocationRelativeTo(null); this.setBackground(new Color(0,0,0,255)); validation = new JButton("Let's started !"); validation.addActionListener(this); validation.setVisible(true); // création des différents "parties" de notre fenetre de configuration container1.setBackground(Color.black); container1.setLayout(new BorderLayout()); // ajout des différents boutons et labels.. JPanel top3 = new JPanel(); top3.add(validation); // ajout aux différents "blocs" les différentes zones container1.add(top3,BorderLayout.SOUTH); setContentPane(container1); this.setVisible(true); } public void actionPerformed(ActionEvent e) { if((JButton)e.getSource()==validation) { new TestFenetre().setVisible(true); this.setVisible(false); } } }
--code TestFenetre.java--
import javax.swing.*; import java.awt.*; import javax.swing.JFrame; public class TestFenetre extends JFrame { public TestFenetre() { this.setTitle("ma nouvelle fenetre !!!"); this.setSize(500,300); this.setBackground(new Color(0,120,120,155)); } }
Voilà pour les codes...
Maintenant les erreurs.
Lors de la compilation, juste des warnings sur des lignes de commentaires, à cause d'accents...
Mais lors de l'exécution, ça me retourne ces différentes erreurs :
Exception in thread "main" java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)
at java.awt.Window.<init>(Window.java:437)
at java.awt.Frame.<init>(Frame.java:419)
at java.awt.Frame.<init>(Frame.java:384)
at javax.swing.JFrame.<init>(JFrame.java:174)
at ConfigFenetre.<init>(ConfigFenetre.java:25)
at Main.main(Main.java:8)
(J'ai l'impression que ces erreurs concerne l'affichage de ma fenêtre java... enfin, la création d'une fenetre java en général... ?)
Merci.
Ymaq
Ymaq
Messages postés
45
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
22 février 2013
1
6 mai 2011 à 00:38
6 mai 2011 à 00:38
Je tiens à préciser que l'erreur ne vient en aucune façon du code :
l'exécution après compilation de ces classes java sous Windows fonctionne parfaitement...
l'exécution après compilation de ces classes java sous Windows fonctionne parfaitement...
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
6 mai 2011 à 01:18
6 mai 2011 à 01:18
J'ai testé le code, je l'ai compilé sous Windows 7, copié-collé les .class sous Ubuntu 10.04, et lancé la classe Main... aucun problème à l'exécution !
Je t'invite soit à faire comme moi (compiler sous Windows et utiliser les fichiers sous Linux) soit à vérifier que tu as bien les même versions de javac sous Windows et Linux (javac -version)
Je t'invite soit à faire comme moi (compiler sous Windows et utiliser les fichiers sous Linux) soit à vérifier que tu as bien les même versions de javac sous Windows et Linux (javac -version)
Ymaq
Messages postés
45
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
22 février 2013
1
6 mai 2011 à 12:42
6 mai 2011 à 12:42
D'accord, je vais essayer.
J'ai pour ma part une version plus avancée de javac sous Ubuntu (1.6.0_24) que sous Windows (1.6.0_22), et je trouve étrange que le programme s'exécute sous Windows et non sous Ubuntu...
J'ai pour ma part une version plus avancée de javac sous Ubuntu (1.6.0_24) que sous Windows (1.6.0_22), et je trouve étrange que le programme s'exécute sous Windows et non sous Ubuntu...
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
6 mai 2011 à 12:55
6 mai 2011 à 12:55
En fait ce n'est pas vraiment un problème d'exécution mais de compilation.
L'exécution plante sous Ubuntu parce que c'est une autre compilation or à mon avis c'est cette compilation qui diffère...
Remarque : compiler sous Windows n'optimisera pas l'exécution sous Windows et idem pour Ubuntu, donc une seule compilation correcte (Windows en l'occurence) devrait suffire pour distribuer ton programme sur tous les systèmes.
L'exécution plante sous Ubuntu parce que c'est une autre compilation or à mon avis c'est cette compilation qui diffère...
Remarque : compiler sous Windows n'optimisera pas l'exécution sous Windows et idem pour Ubuntu, donc une seule compilation correcte (Windows en l'occurence) devrait suffire pour distribuer ton programme sur tous les systèmes.
Ymaq
Messages postés
45
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
22 février 2013
1
6 mai 2011 à 13:15
6 mai 2011 à 13:15
Ok.
Mais je voudrais savoir : un fichier .java compilé avec une certain version de javac n'est pas censée pouvoir se compiler comme il faut avec une version de javac plus avancée ?
Mais je voudrais savoir : un fichier .java compilé avec une certain version de javac n'est pas censée pouvoir se compiler comme il faut avec une version de javac plus avancée ?