Billets avec l'étiquette ‘Eclipse’

Eclipse 3.5 sur Ubuntu 9.10 Karmic Koala

09-12-2009 par Horacio Gonzalez
LiB et Ubuntu

Hier j’ai enfin trouvé le temps d’installer la dernière version d’Ubuntu sur mon portable du travail. Comme ça fait déjà deux mois que j’utilise Karmic Koala sur mon ordinateur fixe, je savais que je n’allais pas avoir de problème majeur. Cependant, je suis tombé sur un petit bug énervant, et je profite de ce billet pour vous en parler.

Lorsque j’ai fait tourner Eclipse 3.5 sur mon nouveau Ubuntu, j’ai constaté que certains boutons de fenêtres modales deviennent inutilisables, lorsqu’on y clique on les voit “enfoncées” mais aucune évènement ne se passe. Il fallait donc cliquer sur le bouton pour le sélectionner et ensuite appuyer sur la touche Entrée pour valider la sélection.

En cherchant un peu sur le net, j’ai vu que le problème est dû à une incompatibilité entre la version 3.5 de SWT (le framework graphique derrière Eclipse) et la version 2.18 de GTK. Normalement, la prochaine version de SWT corrigera le soucis, mais en attendant, il y a une solution assez facile.

Pour qu’Eclipse se comporte comme il devrait, il suffit de lui indiquer d’utiliser le mode fenêtre native en GDK, en faisant un export GDK_NATIVE_WINDOWS=1 avant d’appeler l’exécutable eclipse.

Pour faciliter la tâche, la façon la plus simple d’agir est de créer un petit script eclipse.sh et de lancer Eclipse à partir de ce script :

#!/bin/bash
export GDK_NATIVE_WINDOWS=1
eclipse

En attendant la sortie d’Eclipse 3.6, cette petite astuce permet donc de contourner le problème facilement.

Erreur d’Eclipse sur Ubuntu – org.eclipse.swt.SWTError: XPCOM error

08-09-2009 par Horacio Gonzalez

Ce matin, après une mise à jour de certains paquets Ubuntu, mon Eclipse ne démarrait plus. Le processus de démarrage semblait bien, se passer, mais à la place de l’interface de l’application, je n’avais qu’une fenêtre de dialogue vide.

En regardant les logs dans eclipse/.metadata/.log, j’ai vu que au moment de la construction de l’interface, Eclipse tombait en erreur :


!ENTRY org.eclipse.osgi 4 0 2009-09-08 08:10:13.872
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTError: XPCOM error -2147467262
at org.eclipse.swt.browser.Mozilla.error(Mozilla.java:1638)
at org.eclipse.swt.browser.Mozilla.setText(Mozilla.java:1861)
at org.eclipse.swt.browser.Browser.setText(Browser.java:737)
at org.eclipse.jdt.internal.ui.infoviews.JavadocView.doSetInput(JavadocView.java:928)
at org.eclipse.jdt.internal.ui.infoviews.JavadocView.refresh(JavadocView.java:776)
at org.eclipse.jdt.internal.ui.infoviews.JavadocView.setBackground(JavadocView.java:763)
at org.eclipse.jdt.internal.ui.infoviews.AbstractInfoView.inititalizeColors(AbstractInfoView.java:363)
at org.eclipse.jdt.internal.ui.infoviews.AbstractInfoView.createPartControl(AbstractInfoView.java:226)
[...]
LiB et Java

Après avoir regardé un peu à droite et à gauche, il se trouve que cette erreur est due à des problèmes avec XulRunner, l’environnement d’exécution d’applications XUL utilisé par Eclipse pour son interface.

J’ai actuellement trois versions de XulRunner installées sur ma machine : XulRunner 1.9.0 (correspondant en gros à Firefox 3.0), XulRunner 1.9.1 (correspondant à Firefox 3.5) et XulRunner 1.9.2 alpha (qui serait celle qui correspond à Firefox 3.6 alpha). En faisant xulrunner -version, j’ai vérifié que la version de XulRunner utilisée par défaut est la 1.9.1.

Apparemment, XulRunner 1.9.1 casse la compatibilité des binaires compilés pour XulRunner 1.9.0, dont Eclipse 3.4. J’ai donc modifié le fichier eclipse/eclipse.ini en ajoutant le path de mon XulRunner 1.9.0 :

-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner-1.9.0.13/xulrunner

Et le problème a disparu. Reste à savoir pourquoi le problème est apparu d’un coup ce matin, car j’ai XulRunner 1.9.1 installé depuis des mois, mais cela est une autre histoire…

Eclipse 3.3 Europa

03-07-2007 par Horacio Gonzalez

Il y a juste une année, j’écrivais sur mon blog un billet sur la sortie d’Eclipse 3.2 Callisto. Aujourd’hui, une année après, je vais vous parler de la sortie de la version suivante de la plate-forme Eclipse, Eclipse 3.3 Europa.

L.i.B. et Java

Eclipse est un environnement de développement très modulable, de multiples projets développés indépendamment. Au centre il y a le projet Eclipse, et autour de lui des projets pour les fonctionnalités les plus diverses : Business Intelligence and Reporting Tools (BIRT), C/C++ IDE (CDT), Data Tools Platform (DTP), Eclipse Modeling Framework (EMF)… Depuis l’année dernière, ils se coordonnent pour sortir en début du mois de juillet une mise à jour conjointe des principaux sous-projets, créant une version stable de la plate-forme Eclipse. Cette année la nouvelle version, Eclipse 3.3, porte le hautement symbolique nom Europa, et elle comporte 21 composants.

Et parmi tous les composants mis à jour, il y a une nouvelle version de la Web Tools Platform (WTP), WTP 2.0. WTP est un outil formidable, c’est le projet qui permet la création d’applications web en Java, le support des web services, la génération de XML, XSDL et WSDL, et toute une série d’outils indispensables pour le développeur Java J2EE.

Je travaille avec WTP depuis début 2006. A l’époque c’était un outil beta, plein de bugs, mais qui apportait déjà une vraie valeur ajoutée pour les développeurs. La version 1.0 est sortie vers mai 2006, avant la fin de ma mission chez Yves Rocher. C’était déjà un outil mûr, fortement pratique. En juillet de l’année dernière, avec la sortie d’Eclipse 3.2 Callisto, WTP est passé en version 1.5 (d’ailleurs à l’époque j’ai fait une analyse de cette version).

Aujourd’hui, WTP 2.0 promet plein de nouveautés, certaines très demandées par la communauté d’utilisateurs (comme le support d’Apache Tomcat 6 ou des services web Axis 2 ) .

Je n’ai pas eu encore le temps de le tester (des que je l’aurai fait je ferai un compte rendu plus ou moins détaillé), mais au premier regard une semble une release très bien ficelée, avec des importantes améliorations. J’espère seulement qu’au niveau stabilité et consommation de resources il sera au moins aussi performant que son prédécesseur, ou même mieux…

JavaFX

09-05-2007 par Horacio Gonzalez

Cette semaine il se déroule à San Francisco la plus importante conférence internationale sur Java : Java One. J’aurais bien aimé pouvoir y aller, mais ça n’a pas pu se faire*, alors je suive la conférence à distance, par des podcasts dans le site officiel, et des billets des blogueurs assistants.

L.i.B. et Java

La plus remarquable des nouvelles dans ce début de conférence a été sans doute l’annonce de JavaFX. JavaFX se veut l’alternative Java pour le développement des Rich Internet Applications (RIA, applications web avec un interface rich). Jusqu’à il n’y a pas si longtemps, les seuls concurrents dans cette catégorie étaient JavaScript et Adobe Flash. Cependant ces derniers temps les plate-formes de développement de RIAs s’ont multiplié comme des champignons dans une cave tiède et humide. De l’Adobe Flex, au projet libre OpenLaszlo, en passant par le future Microsoft Silverlight, la mode est aux RIAs et tous le monde cherche à obtenir une partie du gâteau.

Dans un marché soudainement si saturé, quelles sont les chances pour un produit comme JavaFX ? Peut-être je me trompe, mais je pense que assez bonnes, car à mon avis JavaFx compte avec plusieurs atouts de taille :

  • IDE multi-plate-forme : Là où les IDE de Adobe Flash/Flex ou de Microsoft Silverlight ne marchent que sur Windows et où OpenLaszlo n’a pas d’IDE proprement parlant, JavaFX aura un IDE intégré dans Eclipse ou Netbeans. On pourra développer aussi bien dans Windows que Linux, MaxOS ou même dans des environnements plus “exotiques” comme FreeBSD.
  • Environnement d’exécution multi-plate-forme : Je ne parle pas de que l’environnement d’exécution puisse tourner sur des différents systèmes d’exploitation, car la plupart de ces plate-formes permettent une exécution au moins sur Window, Linux et MacOS (Microsoft Silverlight étant pour l’instant la vilaine exception, car il sortira sans aucun support Linux). Car dans le cas de JavaFX, multi-plate-forme veut dire que les scripts JavaFX pourront s’exécuter sur tout type de terminal, d’un téléphone portable à une télé, en passant par un PDA et un ordinateur. Le mantra de Java, développez une fois, exécutez partout, sera pleinement respecté dans JavaFX.
  • Gratuité des outils de développement : Dans la pure tradition Java, les outils de développement sont gratuites. Si vous voulez commencer à jouer avec les premières versions de ces outils, il vous suffit d’aller sur le site des développeurs de JavaFX.
  • Popularité du langage Java : Java est un des langages les plus populaires (peut-être le plus populaire). Les développeurs habitués à Java (autant dans sa forme standard que dans ses déclinaisons entreprise ou mobile) seront sans doute attirés par le fait que JavaFX se base sur Java et qu’il permet d’accéder à toute la richesse de l’API de Java.

En tout cas, étant donné que Java c’est mon gagne-pain depuis quelques années, je place beaucoup d’espoirs sur la sortie de JavaFX, car il ouvre toute une série de possibilités qu’avant on ne pouvait envisager sans changer toutes les outils de développement et exécution. On verra si le temps nous montre qu’il est à la hauteur de ces espoirs…

* : mon collègue de bureau Fred a eu la chance d’y aller, et j’imagine qu’il lira ce billet depuis San Francisco… Alors n’oublies pas de nous envoyer une carte postale, Fred!

Mises à jour :

  • J’ai trouvé un billet très intéressant sur l’aspect développez une fois, exécutez partout de JavaFX dans le blog du CEO de Sun. Et comme bonus, il a une belle image de à quoi ça peut ressembler un téléphone portable avec un interface JavaFX… et cela ressemble beaucoup à un iPhone, à mon avis 😉
  • Je viens de télécharger le plugin JavaFX pour Eclipse, des que j’aurai un peu de temps libre je vais commencer à jouer avec. Je vous raconterai ce que cela donne…

Test d’Eclipse Callisto : WTP 1.5

06-07-2006 par Horacio Gonzalez

Comme je disais dans mon billet du lundi, je vais vous raconter mes premières impréssions avec la nouvelle version d’Eclipse (v3.2), aussi connu comme Eclipse Callisto.

J’ai installé Eclipse 3.2 lundi sur mon ordinateur au travail. Actuellement je travaille sur des applications web en Java, donc Eclipse est mon outil de travail principal, et j’ai du donc tester la nouvelle version pour vérifier s’une migration de l’environnement de développement vers Eclipse 3.2 pourrait être justifiée.

Eclipse est un environnement de développement très modulable, de multiples projets développés indépendamment. Au centre il y a le projet Eclipse, et autour de lui des projets pour les fonctionnalités les plus diverses : Business Intelligence and Reporting Tools (BIRT), C/C++ IDE (CDT), Data Tools Platform (DTP), Eclipse Modeling Framework (EMF)… Mes premières tests se sont centrés sur le projet Web Tools Platform (WTP), qui était dans sa version 1.0.5 et qui est sorti une version 1.5 pour Eclipse Callisto.

WTP donne à la plate-forme Eclipse des outils pour le développement d’applications web en Java. Il inclût des outils pour le codage de HTML, Javascript, CSS, JSP, SQL, XML, DTD, XSD et WSDL; des éditeurs graphiques pour XSD et WSDL; des outils J2EE; un générateur et un explorateur de web services; et des outils et modèles pour l’accès aux bases de données. WTP est une aide précieuse pour les gens qui comme moi travaillent sur le développement d’applications web en Java.

J’ai commencé par tester les éditeurs graphiques de XSD et WSDL. J’ai beaucoup utilisé ces outils pour la définition de web services, et ils étaient une aide énorme, surtout pour un format complexe comme le WSDL. Maintenant, pour cette version 1.5, l’aspect graphique de ces éditeurs a complètement changé, il présente une vue “orientée type” du Schema XML, plus proche des concepts UML :

Editeur graphique de XSD dans Eclipse 3.1.2
Editeur graphique de XSD dans Eclipse 3.1.2
Editeur graphique de XSD dans Eclipse 3.1.2
Editeur graphique de XSD dans Eclipse 3.2 Callisto

Chaque type est présenté dans une boîte, avec ses éléments et attributs comme champs dans la boîte. Un des grandes problèmes de l’éditeur de XSD dans WTP 1.0 était que les attributs n’apparaissaient que dans les propriétés. Dans WTP 1.5, les attributs sont des champs dans la boîte du type, facilitant grandement la conception de schémas XML avec des attributs et non seulement des éléments.

Il y a plein d’autres modifications dans le WTP 1.5, et dans son ensemble l’outil est beaucoup plus finie. Mais il y a aussi des manques, surtout une assez importante pour moi : on ne peut toujours pas ni exporter ni imprimer les vues de l’éditeur graphique. Lorsque je défini un web service, ou un schéma XML, je dois créer une documentation, et pour cette documentation, je voudrais utiliser les jolis dessins d’Eclipse, ou les imprimer pour amener aux réunions. Et la seule façon de le faire est de faire des captures d’écran (et les couper/coller/combiner lorsque le schéma est trop grand pour entrer dans une seule écran). J’ai du mal à croire que je suis le seul avec ce besoin, et j’espère que pour la version 2.0 on aura cette possibilité.

Eclipse 3.2 Callisto

03-07-2006 par Horacio Gonzalez

Je viens de téléchgarger la nouvelle version d’Eclipse Eclipse 3.2, nom en code Callisto.

Le principal changement dans cette version c’est que la plate-forme basique a été enrichie avec des projets qu’avant étaient des projets latéraux ou des plugins. Maintenant la plate-forme basique d’Eclipse est composée de :

  • Business Intelligence and Reporting Tools (BIRT) Project
  • C/C++ IDE (CDT)
  • Data Tools Platform (DTP)
  • Eclipse Modeling Framework (EMF)
  • Graphical Editing Framework (GEF)
  • Graphical Modeling Framework (GMF)
  • Eclipse Project
  • Eclipse Test and Performance Tools Platform Project (TPTP)
  • Eclipse Web Tools Platform Project (WTP)
  • Visual Editor (VE)

Et oui, maintenant le WTP est partie intégrante de la plate-forme basique Eclipse. Le WTP est le projet qui permet la création d’applications web en Java, le support des web services, la génération de XML, XSDL et WSDL, et toute une série d’outils indispensables pour un développeur d’applications web. Pour moi WTP est une pièce aussi basique que le support Java, et je suis content de voir comme le projet évolue dans le sens où je voulais… 🙂

Bon, d’abord je vais le tester, et je vous raconterais mon avis.