You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Andrus Adamchik <an...@objectstyle.org> on 2006/08/10 22:59:33 UTC
[SOLVED, sort of] -javaagent in integration tests
Ok, looks like I found the problem - when using "-javaagent" option,
all agent dependencies have to be passed as "-bootclasspath" in
<argLine/>. I'll see if I can decouple the agent from the rest of the
framework. In the meantime, is there a Maven environment variable
that I can reference in the POM that gives me a full dependency
classpath?
Thanks
Andrus
On Aug 9, 2006, at 10:00 PM, Andrus Adamchik wrote:
> I am having trouble using instrumentation API with Surefire. The
> project pom can be found here - [1]. Essentially, no matter whether
> I start mvn with "-javaagent" in MAVEN_OPTS, or use fork with
> <argLine>, I am getting an exception (see below). When I start
> unit tests with a main method of a regular Java class, it works.
>
> Any insights? See error details below.
>
> Thanks
> Andrus
>
> [1] https://svn.apache.org/repos/asf/incubator/cayenne/sandbox/
> itest-unit1/pom.xml
>
>
> ERROR 1. With childDelegation=false (the agent is loaded but
> ClassLoader blows during the test:
>
> [INFO] Surefire report directory: /Users/andrus/work/jpa-itests/
> itest-unit1/target/surefire-reports
> *** CayenneAgent starting...
>
> -------------------------------------------------------
> T E S T S
> -------------------------------------------------------
> Running org.apache.cayenne.jpa.itest.entity.EntityClassTest
> Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed:
> 0.061 sec <<< FAILURE!
> testFieldBasedPersistence
> (org.apache.cayenne.jpa.itest.entity.EntityClassTest) Time
> elapsed: 0.016 sec <<< ERROR!
> java.lang.NoClassDefFoundError: javax/persistence/spi/
> PersistenceProvider
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> at java.security.SecureClassLoader.defineClass
> (SecureClassLoader.java:124)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:
> 260)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
> 268)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
> 319)
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> at java.security.SecureClassLoader.defineClass
> (SecureClassLoader.java:124)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:
> 260)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
> 268)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at
> org.apache.maven.surefire.booter.IsolatedClassLoader.loadClass
> (IsolatedClassLoader.java:100)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
> 319)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:242)
> at org.apache.cayenne.jpa.itest.Unit1TestHelper.<init>
> (Unit1TestHelper.java:44)
> at org.apache.cayenne.jpa.itest.Unit1TestHelper.<clinit>
> (Unit1TestHelper.java:32)
> at
> org.apache.cayenne.jpa.itest.entity.EntityClassTest.testFieldBasedPers
> istence(EntityClassTest.java:33)
>
> ERROR 2: Without child delegation (agent loaded, but no
> instrumentation is available to the tests):
>
> *** CayenneAgent starting...
>
> -------------------------------------------------------
> T E S T S
> -------------------------------------------------------
> Running org.apache.cayenne.jpa.itest.entity.EntityClassTest
> cayenne WARN [main 08-09 21:59:12] InstrumentingUnit: *** No
> instrumentation instance present. Check the -javaagent: option
> Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed:
> 0.554 sec <<< FAILURE!
> testFieldBasedPersistence
> (org.apache.cayenne.jpa.itest.entity.EntityClassTest) Time
> elapsed: 0.512 sec <<< ERROR!
> java.lang.IllegalArgumentException: entity must be Persistent
> at
> org.apache.cayenne.jpa.cspi.CjpaEntityManager.checkEntityType
> (CjpaEntityManager.java:116)
> at
> org.apache.cayenne.jpa.cspi.CjpaEntityManager.persistInternal
> (CjpaEntityManager.java:48)
> at org.apache.cayenne.jpa.JpaEntityManager.persist
> (JpaEntityManager.java:95)
> at
> org.apache.cayenne.jpa.itest.entity.EntityClassTest.testFieldBasedPers
> istence(EntityClassTest.java:36)
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org