Bonjour,
Suite à pas mal de soucis avec Eclipse/gcj (notamment de compatibilité entre un source code Java pour le compilo Sun et gcj, ainsi qu'un énorme pb de performance de mon appli sous F7/gcj), j'ai voulu installer la "vraie" jdk de Sun. Mais ça soulève pas mal de questions dont les réponses ne sont pas toujours données (ou un peu trop vieille). Aussi appelle-je en aide le forum avant que je ne fasse n'importe quoi.

1) Est-ce une bonne idée que de vouloir passer par la jdk de Sun plutôt que celle fournie avec Fedora 7 ? Je précise que les sources sont éditées aussi bien sous Fedora que Windows et MacOSX (les deux derniers utilisant la jdk 1.5 de Sun).

2) En supposant que j'installe la jdk de Sun, est-ce que Fedora en tiendra compte ? C'est-à-dire, est-ce que Firefox aura un module Java, est-ce Yum refusera d'installer Azureus par manque de gjc, etc. ?

3) Est-ce qu'Eclipse pour Fedora aime ce genre de manip ou est-ce un enfer de remplacer gcj par la jdk de Sun ?

4) Est-ce que je peux suivre sans crainte le tuto (http://www.fedorafaq.org/#java) sachant qu'il pointe vers http://www.jpackage.org/installation.php et que jpackage ne propose rien pour Fedora 7 (il s'arrête à FC6 pour l'instant) ?

5) Qu'est-ce que je perds à ne plus passer par gjc ? (dépendances, outils associés, etc.)
Bonjour,

le projet Fedora fournit effectivement une implémentation libre de Java, GCJ. Mais tout a été prévu pour faire cohabiter cette dernière avec le dernier JDK de Sun, ou même plusieurs versions à la fois (1.4.2, 1.5, 1.6), ou encore plus fort, plusieurs implémentation de Java à la fois (GCJ, Sun, IBM), notamment avec alternatives, permettant de « switcher » entre ces différentes versions. Les programmes utilisant java utiliseront la version « courante » déclarée par l'utilisateur avec alternatives, sans aucune autre manipulation (!)

La méthode JPackage ne permet d'installer qu'un JDK en cohabitation avec GCJ ; la méthode est reprise dans la doc. fedora-fr. Tu peux y aller sans crainte :
1- installer le paquet RPM fourni par Sun (disons la dernière version 1.6) ;
2- installer le paquet de compatibilité correspondant à la version du JDK installée :
http://mirrors.dotsrc.org/jpackage/1.7/generic/RPMS.non-free/
Super, j'avais pas vu le tuto pour la jdk 1.6.
Donc, pour faire propre, j'installe gcj, Eclipse et toute la famille, puis j'installe le rpm de chez Sun et celui de JPackage, c'est bien ça ? Ou je peux installer d'abord la jdk puis gcj ?
Si tu installes Eclipse, GCJ sera inévitablement installé (s'il ne l'est déjà !).
Mias dans l'absolu, c'est ça : le RPM de Sun, puis JPackage 😉
Finalement, j'ai "réparé" Java et "tout cassé" Eclipse.

Pour faire court, "java -version" et "javac -version" donnent bien jdk 1.6.0_1, donc l'installation de la jdk de Sun par les rpm à réussi.

En revanche, Eclipse refusant de se lancer à cause de plugins et autres résidus de l'installation précédente, j'ai viré tout ce qui avait trait à Eclipse (du /usr/<partout où y'a Eclipse> aux /home/$$$/.eclipse). J'ai réinstallé Eclipse et là, crash au démarrage avec le message suivant :
JVM terminated. Exit code=1
/usr/bin/java
-Xms40m
-Xmx256m
-Dosgi.sharedConfiguration.area=/usr/lib/eclipse/configuration
-jar startup.jar
-os linux
-ws gtk
-arch x86
-launcher /usr/bin/eclipse
-name Eclipse
-showsplash 600
-exitdata 240026
-vm /usr/bin/java
-vmargs
-Xms40m
-Xmx256m
-Dosgi.sharedConfiguration.area=/usr/lib/eclipse/configuration
-jar startup.jar
Avec /usr/bin/java -> /etc/alternatives/java -> /usr/lib/jvm/jre-1.6.0-sun/bin/java
Remarque : y'a plein d'options en double mais c'est vraiment le message renvoyé (et pas un bug de copier coller).

C'est grave docteur ?

Edit : Le message renvoyé sur la console est : "Unable to access jarfile startup.jar", fichier jar qui se trouve pourtant dans /usr/share/eclipse/plugins/org.eclipse.platform_3.2.2.r322_v20070117b/startup.jar.
Ou la... Il eut fallu désinstaller Eclipse en utilisant le gestionnaire de paquetage...

Tâchons de réparer ce qui peut l'être...
Que renvoie la commande suivante ?
$ rpm -V eclipse-platform
C'est ce que j'avais fait, désinstaller Eclipse proprement par le gestionnaire de paquetages. Mais après réinstallation, j'ai eu tout un tas de mauvais messages sur des plugins et autres modules que j'avais rajouté. Alors j'avour, j'ai craqué, j'ai tout cassé :/

La commande renvoie : package eclipse-plateform is not installed
Je n'avance pas beaucoup mais il semble que les déclarations de classpath pour Eclipse ont sauté.
J'ai fait
sudo ln -s /usr/share/eclipse/plugins/org.eclipse.platform_3.2.2.r322_v20070117b/startup.jar /usr/share/eclipse/startup.jar
et j'obtiens un plantage avec un lien vers un fichier log que voici :
!SESSION Wed Jun 13 21:10:33 CEST 2007 -----------------------------------------
!ENTRY org.eclipse.core.launcher 4 0 2007-06-13 21:10:33.490
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.RuntimeException: Could not find framework
    at org.eclipse.core.launcher.Main.getBootPath(Main.java:639)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:274)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)
Quelqu'un pourrait me dire, si ça vient bien de là, où sont sensés être déclarés startup.jar, org.eclipse.core.Main et tous les autres paquetages nécessaires à Eclipse ?
Las de trouver une solution, j'ai réinstallé Fedora et tout est rentré dans l'ordre.
Installation de Eclipse puis du rpm sun java et enfin le rpm java-compat de jpackage et ça roule.