tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michiel Graat <Michiel.Gr...@sidn.nl>
Subject RE: ClassNotFoundExceptions on more than two Arquillian tests
Date Mon, 30 Sep 2013 15:03:26 GMT
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:rmannibucau@gmail.com] 
Sent: maandag 30 september 2013 16:50
To: users@tomee.apache.org
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 <Michiel.Graat@sidn.nl>

> 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:rmannibucau@gmail.com]
> Sent: vrijdag 20 september 2013 14:34
> To: users@tomee.apache.org
> 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 <Michiel.Graat@sidn.nl>
>
> > 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:rmannibucau@gmail.com]
> > Sent: donderdag 19 september 2013 17:48
> > To: users@tomee.apache.org
> > 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 <john.d.ament@gmail.com>
> >
> > > Michiel,
> > >
> > > Just wondering, are you including hsqldb in your war file?
> > >
> > > John
> > >
> > > On Thu, Sep 19, 2013 at 11:10 AM, Michiel Graat 
> > > <Michiel.Graat@sidn.nl>
> > > 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
> > >
> >
>

Mime
View raw message