Lorsque des plugins Eclipse se marchent dessus ...

… ca énerve.

C’est en voulant dérouler le très prometteur blog de Ben Corrie sur le déploiement d’une appli GWT sur SpringSource dm Server que je suis tombé hier sur un bug de mon environnement Eclipse qui m’a bloqué dès la première étape.

En effet, un simple export de plugin échouait lamentablement sur une NullPointerException :

!ENTRY org.eclipse.ant.core 4 1 2008-12-15 22:34:29.359 !MESSAGE BUILD FAILED !STACK 0 java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:394) at org.apache.tools.ant.PropertyHelper.setUserProperty(PropertyHelper.java:379) at org.apache.tools.ant.Project.setUserProperty(Project.java:537) at org.eclipse.ant.internal.core.ant.InternalAntRunner.setProperties(InternalAntRunner.java:233) at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:554) at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:456) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.ant.core.AntRunner.run(AntRunner.java:378) at org.eclipse.pde.internal.core.exports.FeatureExportOperation.runScript(FeatureExportOperation.java:355) at org.eclipse.pde.internal.core.exports.FeatureExportOperation.doExport(FeatureExportOperation.java:236) at org.eclipse.pde.internal.core.exports.FeatureBasedExportOperation.run(FeatureBasedExportOperation.java:46) at org.eclipse.pde.internal.ui.build.FeatureExportJob.run(FeatureExportJob.java:55) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

( extrait de /.metadata/.log )

Relativement agacé par ce blocage, j’ai entrepris de trouver la cause du problème… Heureusement pour moi, il n’a pas été si compliqué de la trouver.

En quelques mots, j’ai :

  • créé une nouvelle "Eclipse Application" dans "Run Configurations", sans oublier de spécifier qq arguments mémoires qui vont bien : j’ai utilisé -Xms40m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=256m
  • lancé cette application en mode debug => ce qui forke un nouvel Eclipse
  • spécifié des break points sur org.eclipse.pde.internal.core.exports.FeatureExportOperation inclus dans le jar org.eclipse.pde.core_3.4.0.v20080903-1700.jar
  • et entrepris de comprendre la cause du problème.

( Tout ça bien sûr en ayant tout d’abord étudier un peu le code de cette classe. Je suis feignant : je n’ai pas cherché les sources, j’ai décompilé rapidement le code du jar avec l’excellent décompilateur de Emmanuel : JD-GUI )

La cause de mon problème était la présence d’une clef WEBLOGIC_HOME ayant une valeur null dans les propriétés envoyées à Ant…
En cherchant un peu plus, j’ai trouvé dans les préférences de mon workspace Eclipse dans la rubrique Ant > Runtime > Properties que ce très cher plugin Weblogic pour Eclipse définissait automatiquement une propriété WEBLOGIC_HOME, qu’il renseigne à partir de la configuration Weblogic à définir dans Server > Runtime Environments.
 
Oui mais voila dans mon workspace dédié à SpringSource dm Server, je n’avais pas configuré un tel environnement … Ce qui causait le problème.

Comme quoi, avoir plusieurs workspaces Eclipse n’est pas toujours une bonne idée…


Vous avez trouvé cette publication utile? Cliquer sur
Author image
Fort de plus de 15 ans d'expérience autour de l'écosystème JavaEE, Fabien accompagne ses clients dans la conception et le cadrage de leurs projets.
Ippon
Ippon est un cabinet de conseil en technologies, créé en 2002 par un sportif de Haut Niveau et un polytechnicien, avec pour ambition de devenir leader sur les solutions Digitales, Cloud et BigData.

Ippon accompagne les entreprises dans le développement et la transformation de leur système d’information avec des applications performantes et des solutions robustes.

Ippon propose une offre de services à 360° pour répondre à l’ensemble des besoins en innovation technologique : Conseil, Design, Développement, Hébergement et Formation.

Nous avons réalisé, en 2017, un chiffre d’affaires de 31 M€ en croissance organique de 30%. Nous sommes aujourd’hui un groupe international riche de plus de 320 consultants répartis en France, aux USA, en Australie et au Maroc.
FRANCE Website LinkedIn