You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by smithh032772 <sm...@gmail.com> on 2013/02/24 13:40:22 UTC
Re: tomee + eclipselink =>
NoClassDefFoundError/ClassNotFoundException
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.
Re: tomee + eclipselink => NoClassDefFoundError/ClassNotFoundException
Posted by "Howard W. Smith, Jr." <sm...@gmail.com>.
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
<rm...@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. <sm...@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
> > <rm...@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 <sm...@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.
> > > >
> > >
> >
>
Re: tomee + eclipselink => NoClassDefFoundError/ClassNotFoundException
Posted by Romain Manni-Bucau <rm...@gmail.com>.
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. <sm...@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
> <rm...@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 <sm...@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.
> > >
> >
>
Re: tomee + eclipselink => NoClassDefFoundError/ClassNotFoundException
Posted by "Howard W. Smith, Jr." <sm...@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
<rm...@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 <sm...@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.
> >
>
Re: tomee + eclipselink => NoClassDefFoundError/ClassNotFoundException
Posted by Romain Manni-Bucau <rm...@gmail.com>.
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 <sm...@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.
>