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 Fri, 20 Sep 2013 12:23:06 GMT
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/arquillian-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