Patrice Ferlet
Patrice Ferlet
Créateur de ce blog.
Publié le nov. 10, 2008 Temps de lecture: 2 min

Me suivre sur Mastodon

Erreurs avec Eclipse et PDT

Fraichement installé, ma fedora au travail fonctionne à merveille. Vient le moment où j’installe Eclipse et après un premier lancement je m’attèle à installer PDT. Au lieu de prendre le “all-in-one-package” qui ne fonctionne que sur 32bits (et que mon poste est en 64bits), je préfère utiliser le Eclipse de ma Fedora, et installer PDT via le système interne de mise à jour.

Tout se passe bien, un mise à jour de WST, et je relance mon eclipse. J’ouvre mon projet PHP… puis un script, je clique dans l’éditeur pour avoir le focus et là !!!

An error has occurred. See error log for more details.
org.eclipse.emf.ecore.util.EcoreEMap$DelegateEObjectContainmentEList

Rien de bien grave puisque j’arrive à bosser tout de même… mais je regarde à tout hasard dans les logs générés, et je trouve la solution:

java.lang.NoClassDefFoundError: org.eclipse.emf.ecore.util.EcoreEMap$DelegateEObjectContainmentEList
   at java.lang.Class.initializeClass(libgcj.so.9)

Le plus important ici, c’est que par défaut nous utilisons libgcj au lieu d’un JDK… A priori, PDT a besoin d’un JRE ou JDK complet, la solution simple pour résoudre le soucis est donc de faire:

su -lc "yum install java-1.6.0-openjdk"

puis de relancer eclipse. Les soucis disparaîtront, et mieux encore, Eclipse sera un chouillat plus rapide.

Ce n’est pas une erreur de packaging, contrairement à ce que l’on peut penser. Le choix a été fait d’utiliser gcc-gcj pour des raisons de performances et de place. Si un jour un paquet RPM pour PDT voit le jour, les dépendances seront certainement modifiée.

Voilà voilà, à vous de jouer.

comments powered by Disqus