j'essaie, sur linux ppc, avec la version beta du Java 1.5 d'IBM, sur un
petit bout de code, pour test, à cette ligne :
ArrayList<JPanel> rows = new ArrayList<JPanel>();
éclipse me dit :
the type ArrayList is not generic ; it cannot be parametrized with arguments
<JPanel>.
je comprends bien le message MAIS, est-ce que cela signifie qu'IBM n'a pas
choisi de produire un java 1.5 compatible avec celui de Sun ?
ce qui me semble bizarre c'est que, ce test, j'en ai un jar compilé sur Java
1.5 Sun/apple (donc sur MacOS X) et il tourne sur ce linux ppc avec la vm
associée au jre ibm 1.5.
sur le site ibm où j'ai téléchargé ce sdk, je ne vois pas d'info à ce
sujet...
quelqu'un aurait des lumières ?
ma version java :
Java(TM) 2 Runtime Environment, Standard Edition (build pxp32dev-20051104)
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux ppc-32 j9vmxp3223-20051103
(JIT enabled)
J9VM - 20051027_03723_bHdSMR
JIT - 20051027_1437_r8
GC - 20051020_AA)
JCL - 20051102
En fait je crois que le "matching" des generics se fait a la compilation, et non a l'execution. C'est pour cela que ton code peut etre executé, mais que tu ne peux pas le compiler. Faut voir la specification de la JVM 1.5 pour en etre sur...
oui, merci, c'est plus clair pour moi, comme tout le monde n'était pas d'accord avec les specs de 1.5/sun, il est possible que les generics ne soient pas implémentés dans le compilo ibm, côté sun je suis à peu près sûr que le matching est à la compilation, j'ai dû lire ça qqpart...
me reste à trouver les specs ibm versus sun ))
le pb est que je dois recompiler db40 sous ibm car je n'arrive pas à faire qqc avec, au premier lancement j'ai eu droit à :
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/db4o/Db4o (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
c'est sur un forum db4o qu'on m'a conseillé de recompiler db4o sous ibm, d'où mon petit essai ))
en tout cas merci, ça m'a fait progresser en "comprenotte"... -- Une bévue
alexandre cartapanis wrote:
En fait je crois que le "matching" des generics se fait a la
compilation, et non a l'execution. C'est pour cela que ton code peut
etre executé, mais que tu ne peux pas le compiler. Faut voir la
specification de la JVM 1.5 pour en etre sur...
oui, merci, c'est plus clair pour moi, comme tout le monde n'était pas
d'accord avec les specs de 1.5/sun, il est possible que les generics ne
soient pas implémentés dans le compilo ibm, côté sun je suis à peu près sûr
que le matching est à la compilation, j'ai dû lire ça qqpart...
me reste à trouver les specs ibm versus sun ))
le pb est que je dois recompiler db40 sous ibm car je n'arrive pas à faire
qqc avec, au premier lancement j'ai eu droit à :
Exception in thread "main" java.lang.UnsupportedClassVersionError:
com/db4o/Db4o (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
c'est sur un forum db4o qu'on m'a conseillé de recompiler db4o sous ibm,
d'où mon petit essai ))
en tout cas merci, ça m'a fait progresser en "comprenotte"...
--
Une bévue
En fait je crois que le "matching" des generics se fait a la compilation, et non a l'execution. C'est pour cela que ton code peut etre executé, mais que tu ne peux pas le compiler. Faut voir la specification de la JVM 1.5 pour en etre sur...
oui, merci, c'est plus clair pour moi, comme tout le monde n'était pas d'accord avec les specs de 1.5/sun, il est possible que les generics ne soient pas implémentés dans le compilo ibm, côté sun je suis à peu près sûr que le matching est à la compilation, j'ai dû lire ça qqpart...
me reste à trouver les specs ibm versus sun ))
le pb est que je dois recompiler db40 sous ibm car je n'arrive pas à faire qqc avec, au premier lancement j'ai eu droit à :
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/db4o/Db4o (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
c'est sur un forum db4o qu'on m'a conseillé de recompiler db4o sous ibm, d'où mon petit essai ))
en tout cas merci, ça m'a fait progresser en "comprenotte"... -- Une bévue
le pb est que je dois recompiler db40 sous ibm car je n'arrive pas à faire qqc avec, au premier lancement j'ai eu droit à :
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/db4o/Db4o (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
Donc essaye de compiler db4o sur ton systeme avec cette option, voire ce que ca donne.
Et verifie bien que la jvm de l'IBM est une 1.5, en general cette erreur indique que l'on utilise du code trop recent pour la JVM. Apres peut etre que la JVM 1.5 de IBM ne respecte pas les spec 1.5, mais alors je sais plus quoi te dire lol.
en tout cas merci, ça m'a fait progresser en "comprenotte"...
le pb est que je dois recompiler db40 sous ibm car je n'arrive pas à faire
qqc avec, au premier lancement j'ai eu droit à :
Exception in thread "main" java.lang.UnsupportedClassVersionError:
com/db4o/Db4o (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
Donc essaye de compiler db4o sur ton systeme avec cette option, voire ce
que ca donne.
Et verifie bien que la jvm de l'IBM est une 1.5, en general cette erreur
indique que l'on utilise du code trop recent pour la JVM. Apres peut
etre que la JVM 1.5 de IBM ne respecte pas les spec 1.5, mais alors je
sais plus quoi te dire lol.
en tout cas merci, ça m'a fait progresser en "comprenotte"...
le pb est que je dois recompiler db40 sous ibm car je n'arrive pas à faire qqc avec, au premier lancement j'ai eu droit à :
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/db4o/Db4o (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
Donc essaye de compiler db4o sur ton systeme avec cette option, voire ce que ca donne.
Et verifie bien que la jvm de l'IBM est une 1.5, en general cette erreur indique que l'on utilise du code trop recent pour la JVM. Apres peut etre que la JVM 1.5 de IBM ne respecte pas les spec 1.5, mais alors je sais plus quoi te dire lol.
en tout cas merci, ça m'a fait progresser en "comprenotte"...
Une bévue
alexandre cartapanis wrote:
Alors moi aussi j'ai eu ce probleme: j'ai voulu executer du code 1.5 sur une JVM 1.4.2...
La solution que j'ai trouvé c'est d'utiliser l'option -target 1.4 de javac. Si tu compiles avec ant, faut rajouter l'attribut target="1.4" a la tache javac.
c'est juste, j'ai déjà eu ça, comme la 1.5 sur MacOS X s'est fait tirer
l'oreille... -- Une bévue
alexandre cartapanis wrote:
Alors moi aussi j'ai eu ce probleme: j'ai voulu executer du code 1.5 sur
une JVM 1.4.2...
La solution que j'ai trouvé c'est d'utiliser l'option -target 1.4 de
javac. Si tu compiles avec ant, faut rajouter l'attribut target="1.4" a
la tache javac.
c'est juste, j'ai déjà eu ça, comme la 1.5 sur MacOS X s'est fait tirer
Alors moi aussi j'ai eu ce probleme: j'ai voulu executer du code 1.5 sur une JVM 1.4.2...
La solution que j'ai trouvé c'est d'utiliser l'option -target 1.4 de javac. Si tu compiles avec ant, faut rajouter l'attribut target="1.4" a la tache javac.
c'est juste, j'ai déjà eu ça, comme la 1.5 sur MacOS X s'est fait tirer
l'oreille... -- Une bévue
Olivier Thomann
me reste à trouver les specs ibm versus sun )) Inutile. Si le JRE est 1.5. Les classes doivent contenir les génériques.
le pb est que je dois recompiler db40 sous ibm car je n'arrive pas à faire qqc avec, au premier lancement j'ai eu droit à :
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/db4o/Db4o (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
c'est sur un forum db4o qu'on m'a conseillé de recompiler db4o sous ibm, d'où mon petit essai )) Visiblement tu essayes de faire tourner du code compilé avec un compilo
1.5 sur une VM 1.4. Si tu veux compiler tu codes 1.5, alors oui il te faut un JDK 1.5 pour compiler et un JRE 1.5 pour l'exécuter. Si tu compiles du code 1.4, un bon conseil: contentes-toi d'utiliser un JDK et un JRE 1.4. Tu peux en effet utiliser -target 1.4 avec un compilo 1.5, cela n'empêchera pas par exemple l'utilisation de méthodes définies uniquement en 1.5 ce qui provoquera des erreurs lors de l'exécution sur une VM 1.4. -- Olivier
me reste à trouver les specs ibm versus sun ))
Inutile. Si le JRE est 1.5. Les classes doivent contenir les génériques.
le pb est que je dois recompiler db40 sous ibm car je n'arrive pas à faire
qqc avec, au premier lancement j'ai eu droit à :
Exception in thread "main" java.lang.UnsupportedClassVersionError:
com/db4o/Db4o (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
c'est sur un forum db4o qu'on m'a conseillé de recompiler db4o sous ibm,
d'où mon petit essai ))
Visiblement tu essayes de faire tourner du code compilé avec un compilo
1.5 sur une VM 1.4.
Si tu veux compiler tu codes 1.5, alors oui il te faut un JDK 1.5 pour
compiler et un JRE 1.5 pour l'exécuter.
Si tu compiles du code 1.4, un bon conseil: contentes-toi d'utiliser un
JDK et un JRE 1.4. Tu peux en effet utiliser -target 1.4 avec un compilo
1.5, cela n'empêchera pas par exemple l'utilisation de méthodes
définies uniquement en 1.5 ce qui provoquera des erreurs lors de
l'exécution sur une VM 1.4.
--
Olivier
me reste à trouver les specs ibm versus sun )) Inutile. Si le JRE est 1.5. Les classes doivent contenir les génériques.
le pb est que je dois recompiler db40 sous ibm car je n'arrive pas à faire qqc avec, au premier lancement j'ai eu droit à :
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/db4o/Db4o (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
c'est sur un forum db4o qu'on m'a conseillé de recompiler db4o sous ibm, d'où mon petit essai )) Visiblement tu essayes de faire tourner du code compilé avec un compilo
1.5 sur une VM 1.4. Si tu veux compiler tu codes 1.5, alors oui il te faut un JDK 1.5 pour compiler et un JRE 1.5 pour l'exécuter. Si tu compiles du code 1.4, un bon conseil: contentes-toi d'utiliser un JDK et un JRE 1.4. Tu peux en effet utiliser -target 1.4 avec un compilo 1.5, cela n'empêchera pas par exemple l'utilisation de méthodes définies uniquement en 1.5 ce qui provoquera des erreurs lors de l'exécution sur une VM 1.4. -- Olivier
Olivier Thomann
j'essaie, sur linux ppc, avec la version beta du Java 1.5 d'IBM, sur un petit bout de code, pour test, à cette ligne : ArrayList<JPanel> rows = new ArrayList<JPanel>(); éclipse me dit : the type ArrayList is not generic ; it cannot be parametrized with arguments <JPanel>. Pourrais-tu donner plus de détails sur le compilo utilisé?
-- Olivier
j'essaie, sur linux ppc, avec la version beta du Java 1.5 d'IBM, sur un
petit bout de code, pour test, à cette ligne :
ArrayList<JPanel> rows = new ArrayList<JPanel>();
éclipse me dit :
the type ArrayList is not generic ; it cannot be parametrized with arguments
<JPanel>.
Pourrais-tu donner plus de détails sur le compilo utilisé?
j'essaie, sur linux ppc, avec la version beta du Java 1.5 d'IBM, sur un petit bout de code, pour test, à cette ligne : ArrayList<JPanel> rows = new ArrayList<JPanel>(); éclipse me dit : the type ArrayList is not generic ; it cannot be parametrized with arguments <JPanel>. Pourrais-tu donner plus de détails sur le compilo utilisé?
-- Olivier
Une bévue
Le Sun, 11 Dec 2005 17:01:56 -0500, Olivier Thomann a écrit :
Pourrais-tu donner plus de détails sur le compilo utilisé? pas grand chose :
guère mieux dans la doc fournie avec java 2/IBM...
je vais regarder sur leur site internet, mais il n'y a pas grand chose, cette version est une beta, il y a moins d'un mois, si je ne m'abuse, elle n'était pas sur le site IBM...
-- Une bévue
Le Sun, 11 Dec 2005 17:01:56 -0500, Olivier Thomann a écrit :
Pourrais-tu donner plus de détails sur le compilo utilisé?
pas grand chose :
guère mieux dans la doc fournie avec java 2/IBM...
je vais regarder sur leur site internet, mais il n'y a pas grand chose,
cette version est une beta, il y a moins d'un mois, si je ne m'abuse, elle
n'était pas sur le site IBM...
guère mieux dans la doc fournie avec java 2/IBM...
je vais regarder sur leur site internet, mais il n'y a pas grand chose, cette version est une beta, il y a moins d'un mois, si je ne m'abuse, elle n'était pas sur le site IBM...
-- Une bévue
Une bévue
Le Sun, 11 Dec 2005 17:01:18 -0500, Olivier Thomann a écrit :
Visiblement tu essayes de faire tourner du code compilé avec un compilo 1.5 sur une VM 1.4. Si tu veux compiler tu codes 1.5, alors oui il te faut un JDK 1.5 pour compiler et un JRE 1.5 pour l'exécuter.
ben non, j'essaie de compiler du code 1.5 avec un javac 1.5 mais IBM et pas sun (linuxppc)...
-- Une bévue
Le Sun, 11 Dec 2005 17:01:18 -0500, Olivier Thomann a écrit :
Visiblement tu essayes de faire tourner du code compilé avec un compilo
1.5 sur une VM 1.4.
Si tu veux compiler tu codes 1.5, alors oui il te faut un JDK 1.5 pour
compiler et un JRE 1.5 pour l'exécuter.
ben non, j'essaie de compiler du code 1.5 avec un javac 1.5 mais IBM et
pas sun (linuxppc)...
Le Sun, 11 Dec 2005 17:01:18 -0500, Olivier Thomann a écrit :
Visiblement tu essayes de faire tourner du code compilé avec un compilo 1.5 sur une VM 1.4. Si tu veux compiler tu codes 1.5, alors oui il te faut un JDK 1.5 pour compiler et un JRE 1.5 pour l'exécuter.
ben non, j'essaie de compiler du code 1.5 avec un javac 1.5 mais IBM et pas sun (linuxppc)...
-- Une bévue
Une bévue
Le Fri, 09 Dec 2005 19:06:38 +0100, alexandre cartapanis a écrit :
Alors moi aussi j'ai eu ce probleme: j'ai voulu executer du code 1.5 sur une JVM 1.4.2...
La solution que j'ai trouvé c'est d'utiliser l'option -target 1.4 de javac. Si tu compiles avec ant, faut rajouter l'attribut target="1.4" a la tache javac.
ben en fait c'est le "contraire" qu'il faut faire, j'ai essayé en commande line il faut ajouter -source 1.5, et ça roule avec le *** même *** code 1.5 :
ArrayList<JPanel> rows = new ArrayList<JPanel>();
donc c'est un truc à voir côté eclipse...
je n'ai pas encore essayé avec ant...
-- Une bévue
Le Fri, 09 Dec 2005 19:06:38 +0100, alexandre cartapanis a écrit :
Alors moi aussi j'ai eu ce probleme: j'ai voulu executer du code 1.5 sur
une JVM 1.4.2...
La solution que j'ai trouvé c'est d'utiliser l'option -target 1.4 de
javac. Si tu compiles avec ant, faut rajouter l'attribut target="1.4" a
la tache javac.
ben en fait c'est le "contraire" qu'il faut faire, j'ai essayé en
commande line il faut ajouter -source 1.5, et ça roule avec le *** même
*** code 1.5 :
Le Fri, 09 Dec 2005 19:06:38 +0100, alexandre cartapanis a écrit :
Alors moi aussi j'ai eu ce probleme: j'ai voulu executer du code 1.5 sur une JVM 1.4.2...
La solution que j'ai trouvé c'est d'utiliser l'option -target 1.4 de javac. Si tu compiles avec ant, faut rajouter l'attribut target="1.4" a la tache javac.
ben en fait c'est le "contraire" qu'il faut faire, j'ai essayé en commande line il faut ajouter -source 1.5, et ça roule avec le *** même *** code 1.5 :
ArrayList<JPanel> rows = new ArrayList<JPanel>();
donc c'est un truc à voir côté eclipse...
je n'ai pas encore essayé avec ant...
-- Une bévue
Olivier Thomann
donc c'est un truc à voir côté eclipse... Que veux-tu dire par la?
Si tu as des problemes avec Eclipse, je devrais pouvoir te depanner. -- Olivier
donc c'est un truc à voir côté eclipse...
Que veux-tu dire par la?
Si tu as des problemes avec Eclipse, je devrais pouvoir te depanner.
--
Olivier