[forge-dev] AeroGear: unable to load JPA classes

Lincoln Baxter, III lincolnbaxter at gmail.com
Fri Mar 2 00:15:56 EST 2012


Responses inline.

Thanks,
Lincoln

On Thu, Mar 1, 2012 at 4:38 PM, Richard Kennard <
richard at kennardconsulting.com> wrote:

> Lincoln,
>
> Can I ask you to clarify some things:
>
> 1. When you say 'compile time dependency' do you mean
> <scope>provided</scope> or <scope>compile</scope>? I note that
> hibernate-jpa-api.jar is already
> shipped with Forge, so I'd be keen to reuse that rather than embed a new
> JAR if possible?
>

Either should be fine. Don't worry about re-using dependencies. The idea of
Modular classloading is that you can clutter all you want and things will
still be isolated here. We're also not concerned with wasting space at this
point since plugins are installed separately from the runtime.


>
> 2. Which JAR should I be attaching to? hibernate-jpa-api.jar or
> persistence-api.jar? Because I don't think the latter is shipped with Forge?
>

Either, see above.


>
> 3. I've hit half a dozen gotchas like this between unit tests and testing
> 'for real'. I know I've mentioned this before, but it really brings home
> the need
> for an integration test environment for Forge that is more realistic than
> forge-test-harness. It'd be awesome if we could move in that direction.
>

It would be awesome :) however, if you could identify specific gotchas,
that would help until this becomes a reality.



>
> Regards,
>
> Richard.
>
> On 2/03/2012 4:22 AM, Lincoln Baxter, III wrote:
> > Add the javax.persistence APIs as a compile time dependency to your
> plugin's POM. This is expected behavior AFAIK.
> >
> > Unfortunately, I believe you are probably seeing these classes resolve
> in your IDE because of this pom.xml entry:
> >
> > <dependency>
> > <groupId>org.jboss.forge</groupId>
> > <artifactId>forge-javaee-impl</artifactId>
> > <version>${forge.version}</version>
> > <scope>test</scope>
> > </dependency>
> >
> > Which is needed for testing... Damn the IDEs.
> >
> > ~Lincoln
> >
> > On Thu, Mar 1, 2012 at 1:41 AM, Richard Kennard <
> richard at kennardconsulting.com <mailto:richard at kennardconsulting.com>>
> wrote:
> >
> >     Hi guys,
> >
> >     I'm struggling to get the AeroGear plugin working. It runs fine in
> unit tests, but when packaged as a standalone plugin I get the error below.
> >
> >     It appears my module does not have access to javax.persistence.*
> (hibernate-jpa-2.0-api-1.0.1.Final.jar or similar). How do I declare this
> dependency?
> >
> >     Regards,
> >
> >     Richard.
> >
> >     ---
> >
> >     [test] test $ scaffold from-entity  com.test.model.* --scaffoldType
> aerogear
> >     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:597)
> >             at
> org.jboss.forge.shell.command.Execution.perform(Execution.java:149)
> >             at
> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:125)
> >             at
> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:63)
> >             at
> org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:829)
> >             at
> org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:852)
> >             at
> org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:642)
> >             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.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
> >             at
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
> >             at
> org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(ShellImpl$Proxy$_$$_WeldClientProxy.java)
> >             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.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
> >             at
> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
> >             at
> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
> >             at
> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
> >             at
> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
> >             at
> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
> >             at
> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
> >             at
> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
> >             at
> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
> >             at
> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
> >             at
> org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
> >             at
> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
> >             at
> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
> >             at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:120)
> >             at java.lang.Thread.run(Thread.java:662)
> >     Caused by: java.lang.NoClassDefFoundError: javax/persistence/Lob
> >             at
> org.metawidget.inspector.jpa.JpaInspector.inspectProperty(JpaInspector.java:86)
> >             at
> org.metawidget.inspector.impl.BaseObjectInspector.inspectTraits(BaseObjectInspector.java:343)
> >             at
> org.metawidget.inspector.impl.BaseObjectInspector.inspectAsDom(BaseObjectInspector.java:243)
> >             at
> org.metawidget.inspector.impl.BaseObjectInspector.inspectAsDom(BaseObjectInspector.java:69)
> >             at
> org.metawidget.inspector.composite.CompositeInspector.runInspector(CompositeInspector.java:241)
> >             at
> org.metawidget.inspector.composite.CompositeInspector.runInspectors(CompositeInspector.java:220)
> >             at
> org.metawidget.inspector.composite.CompositeInspector.inspectAsDom(CompositeInspector.java:167)
> >             at
> org.metawidget.inspector.composite.CompositeInspector.inspectAsDom(CompositeInspector.java:151)
> >             at
> org.metawidget.inspector.composite.CompositeInspector.inspectAsDom(CompositeInspector.java:53)
> >             at
> org.metawidget.pipeline.base.BasePipeline.inspectAsDom(BasePipeline.java:344)
> >             at
> org.metawidget.statically.StaticMetawidget.inspect(StaticMetawidget.java:305)
> >             at
> org.metawidget.statically.StaticMetawidget.write(StaticMetawidget.java:251)
> >             at
> org.jboss.forge.scaffold.aerogear.AeroGearScaffold.generateFromEntity(AeroGearScaffold.java:218)
> >             at
> org.jboss.forge.scaffold.plugins.ScaffoldPlugin.generateFromEntity(ScaffoldPlugin.java:174)
> >             ... 36 more
> >
> >     _______________________________________________
> >     forge-dev mailing list
> >     forge-dev at lists.jboss.org <mailto:forge-dev at lists.jboss.org>
> >     https://lists.jboss.org/mailman/listinfo/forge-dev
> >
> >
> >
> >
> > --
> > Lincoln Baxter, III
> > http://ocpsoft.com
> > http://scrumshark.com
> > "Keep it Simple"
> >
> >
> > _______________________________________________
> > forge-dev mailing list
> > forge-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/forge-dev
>
> _______________________________________________
> forge-dev mailing list
> forge-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev
>



-- 
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20120302/29ef5e91/attachment-0001.html 


More information about the forge-dev mailing list