Bonjour,
je viens d'avoir un problème de compatibilité entre deux versions de java. Est-ce normal ?
(je travaille sous 1.506 et j'ai tenté de lancer le logiciel sous 1.4_12)
merci
Bonjour,
je viens d'avoir un problème de compatibilité entre deux versions de java. Est-ce normal ?
(je travaille sous 1.506 et j'ai tenté de lancer le logiciel sous 1.4_12)
merci
oui, java possède une comaptibilité ascendante (ce qui marche en 1.4 marche en 1.5), mais surement pas descendante
maintenant la question épineuse, comment je m'en sors avec ça ?
car j'ai malheureusement besoin de rester en 1.4.2_12..
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 Exception in thread "main" java.lang.UnsupportedClassVersionError: MaClasse (Un supported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source)
merci
Compile ton programme en 1.4.2 alors.Envoyé par d_token
La version 49.0 signifie que ça a été compilé en 1.5. Tu ne pourras donc pas lancer ton application telle quelle, il faut la recompiler en 1.4.2 (je crois me souvenir d'une option "-target" à placer dans la ligne de commande pour la compilation pour spécifier la version de JVM pour laquelle tu veux compiler les classes)
merci de ta réponse
je travaille sous éclipse, et je viens (enfin ;p) de finir de modifier mes classes (en fin de compte, c'est selectionner le bon jdk qui m'a pris du temps)
(les modifs étaient : virer les <class> dans les déclarations de collections
=> un autre problème maintenant : "could not find the main class. Programm will exit"
juste en changeant de JDK/JRE...
Salut,
Le mieux est d'utiliser une version 1.4.2 pour le developpement !Envoyé par plegat
En effet l'option -target a elle seule ne permet pas de s'assurer de la compatibilité absolu du code généré (il faut en plus lui associé les classes de l'API correspondant à la version via le bootclasspath).
a++
et bien il crie aussi sur la classe GBC que j'ai téléchargé de la FAQ, mais aussi sur celle la :
lorsque j'essaie de compliler par ligne de commande MaClasse (sous eclipseil me dit juste qu'il ne trouve pas la classe main)
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
31
32
33
34 import graphiqueInterface.Fenetre; import graphiqueInterface.database.DataAccess; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JOptionPane; import javax.swing.JTextField; public class ActionConnection implements ActionListener{ JTextField jtlogin; JTextField jtpass; public ActionConnection(JTextField _jtlogin,JTextField _jtpass ){ jtlogin=_jtlogin; jtpass=_jtpass; } public void actionPerformed(ActionEvent arg0) { try{ DataAccess dbTest = new DataAccess("",jtlogin.getText(),jtpass.getText()); dbTest.getTest(); new Fenetre(jtlogin.getText(),jtpass.getText()); }catch(Exception e){ JOptionPane.showMessageDialog(null, "Impossible de se connecter à la base de données. Vérifiez votre login et votre mot de passe", "Connexion impossible",JOptionPane.ERROR_MESSAGE); } } }
Partager