internet05
Bonjour,
1) J'ai installé :
sh jdk-6u3-linux-i586-rpm.bin
2) J'ai voulu tester :
javac /mnt/Montage/Essai.java
java -cp ".:/mnt/Montage" Essai
Exception in thread "main" java.lang.ClassFormatError: Essai (unrecognized class file version)
at java.lang.VMClassLoader.defineClass(libgcj.so.8rh)
at java.lang.ClassLoader.defineClass(libgcj.so.8rh)
at java.security.SecureClassLoader.defineClass(libgcj.so.8rh)
3) J'ai alors voulu installer le RPM de compatibilité :
yum --enablerepo=jpackage-generic-nonfree install java-1.6.0-sun-compat
4) Mais pb de dépendance :
Resolving Dependencies
--> Running transaction check
---> Package java-1.6.0-sun-compat.i586 0:1.6.0.02-1jpp set to be updated
--> Processing Dependency: jdk = 2000:1.6.0_02-fcs for package: java-1.6.0-sun-compat
--> Finished Dependency Resolution
Error: Missing Dependency: jdk = 2000:1.6.0_02-fcs is needed by package java-1.6.0-sun-compat
A quoi sert jdk = 2000:1.6.0_02-fcs et comment résoudre le problème ?
Merci de vos suggestions.
proxy
Bonjour,
fais un java -version et un javac -version pour vérifier que tu as compilé et exécuté avec le même JDK
De plus on le voit dans ton erreur : "libgcj."
Sat
# alternatives --config java
tu choisis le machin de Sun, tu peux également le faire en mode graphique avec galternatives ou system-config-java.
Sinon, tu as installé l'update 3 du JDK alors que le paquet de compatibilité a été fait pour l'update 2 ...
internet05
J'ai utilise alternatives et maintenant javac et java sont en cohérence :
>java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
>javac -version
javac 1.6.0_03
Donc, ok mais quelques petits points :
- Je n'ai pas installé de paquet de compatibilité mais ça semble marcher sans... Ca servait à quoi ?
- Lors de mes essais, j'ai enleve avec yum des paquetages sun-java-db* mais
- J'ai noté que gij est installé mais pas gcj et si je veux changer a la volée de VM pour revenir vers gcj /gij j'ai vu que c'est possible avec alternatives. je ne sais pas encore exactement comment mais je verrai.
Sat
Le paquet de compatibilité sert principalement à rajouter des liens symboliques, le packaging de Sun laissant à désirer.