#1 Le 11/06/2007, à 09:23
- Le Furet
Pb de compilation Java avec Eclipse
Je viens d'installer Feisty et je souhaite développer un peu en Java avec.
J'ai récupéré un source que j'ai déjà compilé sous Windows, j'effectue exactement les mêmes opérations sous Eclipse Linux, et j'ai un message d'erreur à la compilation :
Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit
at java.awt.Toolkit.getDefaultToolkit(libgcj.so.70)
at java.awt.Font.tk(libgcj.so.70)
at java.awt.Font.getPeerFromToolkit(libgcj.so.70)
at java.awt.Font.<init>(libgcj.so.70)
at javax.swing.plaf.FontUIResource.<init>(libgcj.so.70)
at javax.swing.plaf.metal.DefaultMetalTheme.<clinit>(libgcj.so.70)
at java.lang.Class.initializeClass(libgcj.so.70)
at java.lang.Class.initializeClass(libgcj.so.70)
at javax.swing.plaf.metal.MetalLookAndFeel.createDefaultTheme(libgcj.so.70)
at javax.swing.plaf.metal.MetalLookAndFeel.<init>(libgcj.so.70)
at javax.swing.UIManager.<clinit>(libgcj.so.70)
at java.lang.Class.initializeClass(libgcj.so.70)
at geogebra.gui.GeoGebra.main(GeoGebra.java:194)
Caused by: java.lang.UnsatisfiedLinkError: libgtkpeer: libgtkpeer.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou répertoire de ce type
at java.lang.Runtime._load(libgcj.so.70)
at java.lang.Runtime.loadLibrary(libgcj.so.70)
at java.lang.System.loadLibrary(libgcj.so.70)
at gnu.java.awt.peer.gtk.GtkToolkit.<clinit>(libgcj.so.70)
at java.lang.Class.initializeClass(libgcj.so.70)
at java.lang.Class.forName(libgcj.so.70)
at java.awt.Toolkit.getDefaultToolkit(libgcj.so.70)
...12 more
Je ne vois pas trop ce qui foire, j'ai pourtant installé toutes les dépendances d'Eclipse, le JDK 6. Il y a bien quelques composants que je n'avais pas sous Windows (liés à gcj) mais je ne peux pas les désinstaller sans que Synaptic me fasse désinstaller Eclipse...
Hors ligne
#2 Le 11/06/2007, à 10:11
- Le Furet
Re : Pb de compilation Java avec Eclipse
J'ai plus ou moins résolu ça en installant le package libgcj7-awt.
Néanmoins j'ai quelques bugs graphiques dans l'application (qui ne sont pas dûes au code lui même puisque le même code fonctionne sans problème sous Windows).
J'ai quand même bien l'impression que Feisty utilise par défaut les outils GNU plutôt que ceux de Sun, or je préfèrerais utiliser ceux de Sun...
Comment fait-on pour changer la configuration Java par défaut de Feisty ?
Hors ligne
#3 Le 11/06/2007, à 10:24
- Le Furet
Re : Pb de compilation Java avec Eclipse
Bon, je viens de trouver dans le wiki (update-java-versions --set ) mais j'ai toujours des bugs graphiques (certains textes s'affichent en noir sur noir), c'est étonnant...
Hors ligne
#4 Le 11/06/2007, à 10:42
- strider
Re : Pb de compilation Java avec Eclipse
hello le furet
si tu veux lancer eclipse avec une VM de ton choix il faut lancer eclipse avec l'option -vm :
eclipse -vm /usr/lib/jvm/<ma vm preférée>/bin/java
j'utilise la version 1.5 de sun , j'ai pas trop de problèmes avec même si eclipse est un peu lent (mais bon c'est du java ...)
#5 Le 11/06/2007, à 11:31
- Le Furet
Re : Pb de compilation Java avec Eclipse
Je t'ai reconnu Strider
C'est vrai que c'est trèèèèès lent. Plus lent que sous Windows avec la même config (et pas que Java d'ailleurs, tout est lent, je vais faire des tests chiffrés), donc je pense qu'il y a un truc qui cloche.
Hors ligne
#6 Le 11/06/2007, à 11:48
- strider
Re : Pb de compilation Java avec Eclipse
oui il doit y avoir quelque chose qui cloche , je peux concevoir que java soit lent mais si c'est tout le système spas normal
#7 Le 13/06/2007, à 09:31
- Le Furet
Re : Pb de compilation Java avec Eclipse
Tu as raison Strider.
Je l'ai lancé par un eclipse -vm /usr/lib/jvm/java-6-sun/bin/java et de suite, c'est plus rapide.
Comment fait-on pour que ça soit cette VM qui soit utilisée par défaut lorsqu'on clique sur Eclipse dans le menu ?
Hors ligne
#8 Le 13/06/2007, à 11:12
- strider
Re : Pb de compilation Java avec Eclipse
ca aussi c'est une bonne blague dans Eclipse, dans les options du programme tu as une section pour modifier la VM par defaut mais alors ca ne fonctionne pas du tout ...
(quand tu ouvres eclipse en console tu vois quelle machine il utilise)
Ma solution a été de modifier le lanceur pour rajouter le paramètre -vm machin
Il faudra que je teste avec Java 6 , pour l'instant même avec une VM de Sun c'est pas la panacée