tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howard W. Smith, Jr." <smithh032...@gmail.com>
Subject Re: tomee + eclipselink => NoClassDefFoundError/ClassNotFoundException
Date Sun, 24 Feb 2013 15:58:01 GMT
okay, well, my app is working well with eclipselink JAR in tomee/lib and
eclipselink specified as jpa provider in persistence.xml. :)


On Sun, Feb 24, 2013 at 10:52 AM, Romain Manni-Bucau
<rmannibucau@gmail.com>wrote:

> tomee only brings openjpa but custom jpa providers can be in the webapp.
>
> the only constraint is to not bring back another time jpa api jar.
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<
> http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>
>
> 2013/2/24 Howard W. Smith, Jr. <smithh032772@gmail.com>
>
> > 1. Okay. I opted out of the dynamic weaving option; sometime later, I may
> > try to configure static weaving.
> >
> > > there are multiple packages of eclipselinks and one without the api
> >
> > 2. hmm, don't really understand; prior to this attempt to do dynamic
> > weaving, my app has been running fine in TomEE 1.5.1+, and I always
> deploy
> > eclipselink  2.3.2 JAR in tomee/lib, and 'never' add it to webapp webinf
> > classes.  If you're saying that tomee is shipped with eclipselink
> already,
> > sorry, I didn't see it. I did recognize openejb-jpa-integration jar
> though.
> >
> >
> > On Sun, Feb 24, 2013 at 9:58 AM, Romain Manni-Bucau
> > <rmannibucau@gmail.com>wrote:
> >
> > > IIRC eclipselink javaagent looks in AppClassLoader for its classes (so
> of
> > > course it fails)
> > >
> > > That said if eclipselink add a correct ClassFileTransformer (i think
> so)
> > > through its persistence unit openejb-javaagent (present by default)
> will
> > > add instrumentation at load time.
> > >
> > > So basically nothing particular to do excepting adding eclipselink to
> the
> > > webapp or tomee/lib.
> > >
> > > Last thing; jpa api is provided by tomee and shouldn't be add to the
> > webapp
> > > or twice to tomee/lib (there are multiple packages of eclipselinks and
> > one
> > > without the api)
> > >
> > > *Romain Manni-Bucau*
> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> > > *Blog: **http://rmannibucau.wordpress.com/*<
> > > http://rmannibucau.wordpress.com/>
> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> > > *Github: https://github.com/rmannibucau*
> > >
> > >
> > >
> > > 2013/2/24 smithh032772 <smithh032772@gmail.com>
> > >
> > > > Yes, i know, old topic, but when I searched google for the exception,
> > it
> > > > lead
> > > > me to this, so I thought...why not see if I can resolve this issue
> via
> > > what
> > > > is mentioned in this thread. :)
> > > >
> > > > Background: of course, my app is running really really well on TomEE
> > > > 1.5.2-snapshot (not the latest version), so today, I 'finally'
> decided
> > to
> > > > attempt to configure dynamic weaving. So, when I added the following
> to
> > > JVM
> > > > options/command-line:
> > > >
> > > >
> > -javaagent:D:\apache-tomee-plus-1.5.2-SNAPSHOT\lib\eclipselink-2.3.2.jar
> > > >
> > > > tomee was unable to start, and the following was in the stderr log:
> > > >
> > > > 2013-02-24 07:18:51 Commons Daemon procrun stderr initialized
> > > > java.lang.reflect.InvocationTargetException
> > > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> > > >         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
> Source)
> > > >         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> > > Source)
> > > >         at java.lang.reflect.Method.invoke(Unknown Source)
> > > >         at
> > > > sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown
> > > > Source)
> > > >         at
> > > > sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown
> > > > Source)
> > > > Caused by: java.lang.NoClassDefFoundError:
> > > > javax/persistence/spi/PersistenceUnitInfo
> > > >         at java.lang.Class.forName0(Native Method)
> > > >         at java.lang.Class.forName(Unknown Source)
> > > >         at
> > > >
> > > >
> > >
> >
> org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializerAgent.initializeFromAgent(JavaSECMPInitializerAgent.java:44)
> > > >         at
> > > >
> > > >
> > >
> >
> org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializerAgent.premain(JavaSECMPInitializerAgent.java:39)
> > > >         ... 6 more
> > > > Caused by: java.lang.ClassNotFoundException:
> > > > javax.persistence.spi.PersistenceUnitInfo
> > > >         at java.net.URLClassLoader$1.run(Unknown Source)
> > > >         at java.net.URLClassLoader$1.run(Unknown Source)
> > > >         at java.security.AccessController.doPrivileged(Native Method)
> > > >         at java.net.URLClassLoader.findClass(Unknown Source)
> > > >         at java.lang.ClassLoader.loadClass(Unknown Source)
> > > >         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
> > > >         at java.lang.ClassLoader.loadClass(Unknown Source)
> > > >         ... 10 more
> > > > Exception in thread "main"
> > > >
> > > >
> > > > Please note the following:
> > > >
> > > > 1. eclipselink JAR  in tomee/lib:
> > > >
> > > > D:\apache-tomee-plus-1.5.2-SNAPSHOT\lib\eclipselink-2.3.2.jar
> > > >
> > > >
> > > > 2. tomee.xml contains the following:
> > > >
> > > > <Resource id="jdbc/mcmsJta" type="javax.sql.DataSource">
> > > >   JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
> > > >   JdbcUrl jdbc:derby:D:/javadb/mcms;create=true
> > > >   UserName mcms
> > > >   Password mcms
> > > >   JtaManaged true
> > > >   jmxEnabled true
> > > >   InitialSize 10
> > > >   MaxActive 100
> > > >   MaxIdle 30
> > > >   MaxWait 10000
> > > >   minIdle 10
> > > >   suspectTimeout 60
> > > >   removeAbandoned true
> > > >   removeAbandonedTimeout 180
> > > >   timeBetweenEvictionRunsMillis 30000
> > > >   jdbcInterceptors=StatementCache(max=128)
> > > > </Resource>
> > > >
> > > > <Resource id="jdbc/mcmsNonJta" type="javax.sql.DataSource">
> > > >   JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
> > > >   JdbcUrl jdbc:derby:D:/javadb/mcms;create=true
> > > >   UserName mcms
> > > >   Password mcms
> > > >   JtaManaged false
> > > >   jmxEnabled true
> > > >   InitialSize 10
> > > >   MaxActive 20
> > > >   MaxIdle 10
> > > >   MaxWait 10000
> > > >   removeAbandoned true
> > > >   removeAbandonedTimeout 18000
> > > > </Resource>
> > > >
> > > > 3. Romain, per what you mentioned in your email below, I 'can' remove
> > > > nonJTA, don't need it, but I think when I first started 'using'
> tomee,
> > I
> > > > think it was required for me to have jta and nonjta defined; i don't
> > > > remember...sorry.
> > > >
> > > > 4. i did recognize the following file in tomee/lib; if I have a
> > > > javax.persistance.jar file that was bundled with eclipselink (ZIP
> > > contains
> > > > eclipselink.jar and javax.persistance.jar, separately), should I
> remove
> > > the
> > > > following file from tomee/lib?
> > > >
> > > > openejb-jpa-integration-4.5.2-SNAPSHOT.jar
> > > >
> > > > it's not a necessity for me to do dynamic weaving, but i wanted to
> see
> > > how
> > > > it impacts my app (and performance, of course).
> > > >
> > > > please advise.
> > > >
> > > > thanks,
> > > > Howard
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > View this message in context:
> > > >
> > >
> >
> http://openejb.979440.n4.nabble.com/tomee-eclipselink-NoClassDefFoundError-ClassNotFoundException-tp4658870p4660999.html
> > > > Sent from the OpenEJB User mailing list archive at Nabble.com.
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message