Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

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

Open
makoivis opened this Issue Feb 17, 2016 · 5 comments

Comments

Projects
None yet
2 participants
Contributor

makoivis commented Feb 17, 2016 edited by samie

Reported by Sami Ekblad on 4 Nov 2009 21:56 UTC
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
at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:59)
at com.google.appengine.tools.enhancer.Enhance.(Enhance.java:60)
at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:41)
Caused by: java.lang.reflect.InvocationTargetException
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:585)
at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:57)
... 2 more
Caused by: org.datanucleus.exceptions.NucleusException: Plugin (Bundle) "org.datanucleus.store.appengine" is already registered. Ensure you dont have multiple JAR versions of the same plugin in the classpath. The URL "file:/Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.2.6.v200910131704/appengine-java-sdk-1.2.6/lib/user/orm/datanucleus-appengine-1.0.3.jar" 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: http://vaadin.com/forum/-/message_boards/message/76408

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.

Migrated-From: https://dev.vaadin.com/ticket/3649

Contributor

makoivis commented Feb 17, 2016

Modified by Artur Signell on 5 Nov 2009 06:48 UTC

Contributor

makoivis commented Feb 17, 2016

Comment by Henri Sara on 6 Nov 2009 09:22 UTC
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.

Contributor

makoivis commented Feb 17, 2016

Modified by Artur Signell on 15 Nov 2013 14:34 UTC

Contributor

makoivis commented Feb 17, 2016

Modified by Artur Signell on 12 May 2014 07:42 UTC

Contributor

makoivis commented Feb 17, 2016

Comment by Artur Signell on 28 Aug 2014 08:46 UTC
Milestone Plug-in for Eclipse backlog deleted

@samie samie added the bug label Jul 25, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment