2010-06-30 5 views
1

Eclipese se bloque sur un (et seulement il semble) intellensense. "Display.getW" (vers la fonction Display.GetWidth()) en tapant "W eclipse" se reproduit de façon reproductible. Essayer d'autres fonctions et classes aléatoires ne donne aucun problème.eclipse s'écraser avec intellisense

Des idées sur ce que cela pourrait être?

Eclipse Info: Eclipse Java EE IDE for Web Developers. 

Build id: 20100218-1602 
Eclipse Galileo 

Edit: En utilisant WindowsXP

+1

Êtes-vous sur Windows? Linux? – VonC

+0

WindowsXP, interrogé édité. – paullb

+0

J'ai créé un bug qui est avéré être un double d'un problème existant: https://bugs.eclipse.org/bugs/show_bug.cgi?id=283503 Ils disent que fixé pour 3.6 mais je ne l'ai pas été capable de vérifier que – paullb

Répondre

3

Les seuls bugs liés à un accident sur l'auto-complétion mentionner toutes les plate-forme Linux et un problème avec la bibliothèque de XULRunner.

Voir par exemple bug 236724:

Vous n'avez pas besoin de télécharger une ancienne version de XULRunner puisque le problème est simplement que la version 64 bits de la bibliothèque est en cours de chargement plutôt que la bibliothèque 32bit.
Pour y remédier, il suffit d'ajouter la ligne suivante à votre eclipse.ini fichier qui pointe vers la version 32 bits de la bibliothèque de XULRunner:

-Dorg.eclipse.swt.browser.XULRunnerPath=<path_to_32bit_xulrunner_lib> 

On RHEL5 par exemple, le chemin serait /usr/lib/xulrunner-1.9.

Vous auriez alors besoin d'une ancienne version de xulrunner ou de son chemin d'accès.

Sur Windows, en revanche, cela peut être une bonne occasion de remplir un nouveau rapport de bogue.


Mise à jour Février 2012, Raedwald mentionne dans les commentaires:

  • Le Eclipse FAQ "Can I specify which XULRunner installation gets used?" pertinent
  • Cela peut aussi résoudre le problème si vous fournissez comme XULRunnerPath un chemin nom qui ne pointez sur un répertoire de bibliothèque xulrunner.
    Ce qui se passe, c'est qu'Eclipse utilise à la place un moteur de rendu interne.
    Je crois que c'est la seule solution si votre O/S (comme RedHat 5.8) vous met à niveau vers une version FireFox qui utilise xulrunner-2 mais ne fournit pas webkitgtk.
+0

Bug déposé. ID de l'avis: 1809962 – paullb

+0

@paullb: étrange ... Je ne peux pas le trouver. Les derniers bugs signalés par « accident » dans le Sumary ont un id de 318261 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=318261), donc « 1809962 » semble un peu trop élevé. – VonC

+0

Reveiw ID est la seule identification que j'ai reçue dans le courrier électronique de SunOracle. Je ne sais pas si cela correspond à un ticket de bug ou pas. – paullb

0

Ceci, et les problèmes connexes, sont causées par des incompatibilités entre Eclipse et xulrunner, qui est une composante de FireFox. Je suis tombé sur ce problème aujourd'hui, après avoir mis à jour Fire Fox sur mon ordinateur de développement RHEL 5.

La fonction "intellisense" (assistance de contenu) et d'autres fonctionnalités d'Eclipse sont un rendu HTML. Eclipse essaie de transférer ce travail de rendu à un composant système. Si votre navigateur Web est Fire Fox, Eclipse utilise traditionnellement xulrunner, qui est intimement associé à Fire Fox. Il le fait en appelant une API C à travers une bibliothèque native.Cependant, cette API est susceptible d'être modifiée par les développeurs de Mozilla, et différentes versions de xulrunner ont eu des API incompatibles. En particulier, Eclipse ne peut pas utiliser " 2", qui est la version dans les versions récentes de Fire Fox.

Les nouvelles versions d'Eclipse essaient de ne pas utiliser xulrunner, mais plutôt d'utiliser webkitgtk. Toutefois, si ce n'est pas le cas, ou si Eclipse est configuré pour ne pas l'utiliser, Eclipse utilisera xulrunner. Ce qui peut ensuite tomber en panne, car Eclipse ne détecte pas que le xulrunner disponible est incompatible. Les développeurs Eclipse reconnaissent cela comme une mauvaise chose (c'est Bug 262929), mais pas encore corrigé (toujours dans Eclipse 3.7).

Par conséquent, si webkitgtk est présent sur votre ordinateur, il peut être préférable de dire Eclipse pour l'utiliser. Eclipse FAQ says how to do this: définissez la propriété Java org.eclipse.swt.browser.UseWebKitGTK sur true. Vous pouvez le faire dans votre fichier eclipse.ini (comme dit elsewhere) en ajoutant la ligne -Dorg.eclipse.swt.browser.UseWebKitGTK=true à la fin du fichier.