the only other solution is to not use SW maven integration. (Using JarLocation or any other solution to handle dependencies manually works fine, it looks harder but it is not that complicated)
*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/9/30 Michiel Graat <[email protected]> > Hi, > > I could of course use the trunk for Arquillian tests, but as far as I can > see the newest version in the Maven repository is 1.5.2... Also, we are > using TomEE 1.5.2 on production, so Arquillian testing on a newer version > of TomEE is not preferred. Is there any other option? > > Kind regards, > > Michiel > > -----Original Message----- > From: Romain Manni-Bucau [mailto:[email protected]] > Sent: maandag 30 september 2013 16:50 > To: [email protected] > Subject: Re: ClassNotFoundExceptions on more than two Arquillian tests > > Hi > > that's only shrinkwrap maven dependency which brings it. > > On tomee side aether is no more used on trunk. > > *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/9/30 Michiel Graat <[email protected]> > > > Hi Romain, > > > > I am not entirely sure how to force the versions. The problem is that > > Shrinkwrap 1.0.0-beta-7 (in Arquillian 1.0.3) needs the API defined in > > Aether 1.8, and Arquillian-tomee-remote needs the API defined in > > Aether 1.13.1. These API's are not compatible at all. If I define the > > Maven dependencies in such a way that only Aether 1.8 is used, > > Arquillian-tomee-remote does not work, and if only Aether 1.13.1 is > > used, Arquillian 1.0.3 does not work. As far as I know I cannot have > > both versions on my classpath or am I mistaken? > > > > Kind regards, > > > > Michiel > > > > -----Original Message----- > > From: Romain Manni-Bucau [mailto:[email protected]] > > Sent: vrijdag 20 september 2013 14:34 > > To: [email protected] > > Subject: Re: ClassNotFoundExceptions on more than two Arquillian tests > > > > Hi > > > > basically with arquillian just align versions on the adapter you use > > otherwise you likely have issues. > > In tomee 1.5 adapters (no more true for trunk) we were using aether to > > find tomee automatically and then shrinkwrap used it too with an old > > version leading to the issue you speak about. Maybe force it in the > > pom (deps are here > > http://svn.apache.org/repos/asf/tomee/tomee/trunk/utils/openejb-provis > > ionning/pom.xml > > ) > > > > *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/9/20 Michiel Graat <[email protected]> > > > > > Hi Romain, > > > > > > I downgraded to 1.0.3 but which version of Shrinkwrap should I use > > > in that case? I tried 1.0.0-beta-7, 2.0.0-alpha-5, 2.0.0-alpha-6 and > > > 2.0.0, which al lead to problems. > > > > > > 1.0.0-beta-7, which is the version used in Arquillian 1.0.3, results > > > in an > > > error: > > > > > > java.lang.NoClassDefFoundError: > > > org/sonatype/aether/impl/SyncContextFactory > > > > > > The cause seems to be a version clash between Shrinkwrap and > > > Arquillian-tomee-remote which use aether 1.8 and 1.13.1 respectively: > > > > > > [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ dbs --- > > > [INFO] foo.bar:dbs:war:0.0.1-SNAPSHOT [INFO] +- > > > org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:jar:1.0 > > > .0 > > > -beta-7:compile [INFO] | +- > > > org.sonatype.aether:aether-api:jar:1.8:compile > > > [INFO] | +- org.sonatype.aether:aether-util:jar:1.8:compile > > > [INFO] | | \- (org.sonatype.aether:aether-api:jar:1.8:compile - > > > omitted for duplicate) [INFO] | +- > > > org.sonatype.aether:aether-connector-wagon:jar:1.8:compile > > > [INFO] | | +- (org.sonatype.aether:aether-api:jar:1.8:compile - > > > omitted for duplicate) [INFO] | | +- > > > org.sonatype.aether:aether-spi:jar:1.8:compile > > > [INFO] | | | \- (org.sonatype.aether:aether-api:jar:1.8:compile - > > > omitted for duplicate) [INFO] | | \- > > > (org.sonatype.aether:aether-util:jar:1.8:compile - omitted for > > > duplicate) [INFO] | \- > > > org.apache.maven:maven-aether-provider:jar:3.0.1:compile > > > [INFO] | +- (org.sonatype.aether:aether-api:jar:1.8:compile - > omitted > > > for duplicate) > > > [INFO] | +- (org.sonatype.aether:aether-spi:jar:1.8:compile - > omitted > > > for duplicate) > > > [INFO] | +- (org.sonatype.aether:aether-util:jar:1.8:compile - > > omitted > > > for duplicate) > > > [INFO] | \- org.sonatype.aether:aether-impl:jar:1.8:compile > > > [INFO] | +- (org.sonatype.aether:aether-api:jar:1.8:compile - > > > omitted for duplicate) > > > [INFO] | +- (org.sonatype.aether:aether-spi:jar:1.8:compile - > > > omitted for duplicate) > > > [INFO] | \- (org.sonatype.aether:aether-util:jar:1.8:compile - > > > omitted for duplicate) > > > [INFO] \- org.apache.openejb:arquillian-tomee-remote:jar:1.5.2:compile > > > [INFO] \- > org.apache.openejb:arquillian-tomee-common:jar:1.5.2:compile > > > [INFO] \- > > org.apache.openejb:openejb-provisionning:jar:4.5.2:compile > > > [INFO] +- (org.sonatype.aether:aether-api:jar:1.13.1:compile - > > > omitted for conflict with 1.8) > > > [INFO] +- (org.sonatype.aether:aether-spi:jar:1.13.1:compile - > > > omitted for conflict with 1.8) > > > [INFO] +- (org.sonatype.aether:aether-util:jar:1.13.1:compile > - > > > omitted for conflict with 1.8) > > > [INFO] +- (org.sonatype.aether:aether-impl:jar:1.13.1:compile > - > > > omitted for conflict with 1.8) > > > [INFO] \- > > > (org.sonatype.aether:aether-connector-wagon:jar:1.13.1:compile - > > > omitted for conflict with 1.8) > > > > > > I do not know how to resolve this version clash. > > > arquillian-tomee-remote needs 1.13.1 (hence the > > > NoClassDefFoundError) > > and Shrinkwrap needs 1.8. > > > These versions of aether seem to have completely incompatible API's. > > > If I manually copy the 1.13.1 JAR into my repository all tests > > > somehow work, but obviously I do not want to have to copy that JAR > > > manually every time I update my repository. Any idea if this version > > > clash problem can be resolved? > > > > > > I also tried 2.0.0-alpha-5 because it seems to be the version you > > > guys use according to > > > > > http://svn.apache.org/repos/asf/tomee/tomee/trunk/arquillian/arquillia > > n-tomee-tests/pom.xml > > . > > > However, in this case I get a RunTimeException: > > > > > > java.lang.RuntimeException: Could not invoke deployment method: > > > public static org.jboss.shrinkwrap.api.spec.WebArchive > > > nl.sidn.dbs.test.ArquillianTest.createDeployment() > > > -- snip -- > > > Caused by: java.lang.IllegalArgumentException: Packaging type zip is > > > not supported. > > > > > > In this case the problem seems to be that my pom contains the > > > following entry (it is the only entry with type 'zip'), which I need > > > of > > course: > > > > > > <dependency> > > > <groupId>org.apache.openejb</groupId> > > > <artifactId>apache-tomee</artifactId> > > > <version>${tomee.version}</version> > > > <classifier>${tomee.classifier}</classifier> > > > <type>zip</type> > > > </dependency> > > > > > > Because of this problem I decided to try a slightly newer version, > > > 2.0.0-alpha-6. This results in the same problems I had before, but > > > before the hsqldb-related problems start a different exception is > thrown: > > > > > > java.lang.ClassCastException: > > > org.apache.tomee.myfaces.TomEEAnnotationProviderFactory cannot be > > > cast to org.apache.myfaces.spi.AnnotationProviderFactory > > > > > > I am including the myfaces-api and myfaces-impl as provided > > > dependencies in my pom, so it could be related to that. Full logs > > > for > > > 2.0.0-alpha-6 can be found here: http://pastebin.com/Zk8hVeAw. > > > > > > Trying 2.0.0 leads to the same problems as I had before, for > > > completeness sake I uploaded the logs: http://pastebin.com/SsjtDgu5 > > > > > > Kind regards, > > > > > > Michiel > > > > > > -----Original Message----- > > > From: Romain Manni-Bucau [mailto:[email protected]] > > > Sent: donderdag 19 september 2013 17:48 > > > To: [email protected] > > > Subject: Re: ClassNotFoundExceptions on more than two Arquillian > > > tests > > > > > > Hi > > > > > > arquillian 1.1.1 doesn't work with tomee 1.5.2, keep using 1.0.3. > > > > > > *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/9/19 John D. Ament <[email protected]> > > > > > > > Michiel, > > > > > > > > Just wondering, are you including hsqldb in your war file? > > > > > > > > John > > > > > > > > On Thu, Sep 19, 2013 at 11:10 AM, Michiel Graat > > > > <[email protected]> > > > > wrote: > > > > > Hi guys, > > > > > > > > > > I have been trying to use Arquillian/TomEE but I have run into a > > > > > strange > > > > problem. Whenever I try to run more than two arquillian > > > > testclasses in one testrun I get ClassNotFoundExceptions for the > > > > org.hsqldb.jdbc.Util > > > class. > > > > If I run the testclasses separately or two at a time everything > > > > works > > > fine. > > > > > > > > > > I use arquillian 1.1.1.Final with TestNG, > > > > > arquillian-tomee-remote > > > > > 1.5.2 > > > > for webprofile and shrinkwrap 2.0.0. My deployment method looks > > > > like > > > this: > > > > > > > > > > @Deployment > > > > > public static WebArchive createDeployment() { File[] deps = > > > > > Maven.resolver() > > > > > .loadPomFromFile("pom.xml") > > > > > .importRuntimeAndTestDependencies() > > > > > .resolve().withTransitivity().asFile(); > > > > > > > > > > return ShrinkWrap.create(WebArchive.class, "dbs.war") > > > > > .addPackages(true, "foo.bar.dbs") > > > > > .addAsManifestResource("META-INF/test-persistence.xml", > > > > "persistence.xml") > > > > > .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml") > > > > > .addAsLibraries(deps) > > > > > .addAsResource("messages_nl.properties", > > > > "messages_nl.properties"); > > > > > } > > > > > > > > > > I remember seeing HSQLDB lock errors when trying to run more > > > > > than two > > > > testclasses but I cannot seem to reproduce them anymore. > > > > > > > > > > You can find a log of a failed run here (split into 3 parts, > > > > > because its > > > > > 1 MB total, lots of repetition of stacktraces though), in it I > > > > > try to run > > > > three tests: > > > > > > > > > > http://pastebin.com/KvQtJ6LH (part 1) > > > > > http://pastebin.com/Ww6rSDGw (part 2) > > > > > http://pastebin.com/6YpdKXq4 (part 3) > > > > > > > > > > A successful run (two tests) can be found here: > > > > > > > > > > http://pastebin.com/2HBnAKPw > > > > > > > > > > This problem has kept me occupied for days now but I cannot seem > > > > > to find > > > > the cause or a solution. Do you guys have any idea? > > > > > > > > > > Kind regards, > > > > > > > > > > Michiel > > > > > > > > > >
