Opened 8 years ago

Last modified 3 years ago

#3649 new defect

datanucleus-appengine-1.0.3.jar twice in classpath with Vaadin & GAE Ecplise Plugins

Reported by: Sami Ekblad Owned by: ticketmaster
Priority: normal Milestone:
Component: dontuse-Plug-in for Eclipse (Use instead) Version: 6.1.3
Keywords: Cc:
Depends on:
Verified: no
Fv: no Pro Account: Mark as Priority


Vaadin Eclipse Plugin configures automatic include from all jar files from WEB-INF/lib. This mixes up classpath with GAE plugin (more precisely DataNucleus Enhancer) that adds the jar there, but does not include it to classpath.

At least then using any JDO classes an exception like this is generated:

java.lang.RuntimeException: Unexpected exception
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
at java.lang.reflect.Method.invoke(
... 2 more
Caused by: org.datanucleus.exceptions.NucleusException: Plugin (Bundle) "" is already registered. Ensure you dont have multiple JAR versions of the same plugin in the classpath. The URL "file:/Applications/eclipse/plugins/" is already registered, and you are trying to register an identical plugin located at URL "file:/Users/sganyo/dev/workspace/pt/war/WEB-INF/lib/datanucleus-appengine-1.0.3.jar."

This makes it impossible to create any Google App Engine / JDO project using the Vaadin Plugin without first manually re-configuring the project classpath.

See also discussion here:

Workaround is to remove automatic addition of WEB-INF/lib ("Web App Libraries" class path entry) and add Vaadin jar files from there separately to classpath.

One fix would be that if GAE deployment is selected when creating the project, the plugin should leave out the "Web App Libraries" classpath entry (and add Vaadin jar as separate entry). This is what effectively must be currently done as manual workaround.

Change history (5)

comment:1 Changed 8 years ago by Artur Signell

  • Milestone set to Eclipse plugin backlog

comment:2 Changed 8 years ago by Henri Sara

The Vaadin plugin does not perform any configuration of this part of the build path.

The problem is in how GAE plugin interacts with the standard Eclipse Web Tools Platform (WTP). The Google plugin is designed to work primarily with its own non-WTP projects, and apparently does not handle WTP projects correctly. There is minimal documentation for using the Google plugin in existing projects (such as WTP), but it does not address this issue.

In summary, considering this a Google plugin WTP incompatibility, not a Vaadin plugin specific problem.

comment:3 Changed 4 years ago by Artur Signell

  • Verified unset

comment:4 Changed 3 years ago by Artur Signell

  • Fv unset

comment:5 Changed 3 years ago by Artur Signell

  • Milestone Plug-in for Eclipse backlog deleted

Milestone Plug-in for Eclipse backlog deleted

Note: See TracTickets for help on using tickets.