[JBoss JIRA] (ARQ-1944) Linkage error with arquillian-junit.jar
by Chris Rankin (JIRA)
[ https://issues.jboss.org/browse/ARQ-1944?page=com.atlassian.jira.plugin.s... ]
Chris Rankin commented on ARQ-1944:
-----------------------------------
Confirm that Tomcat 7.0.50 is actually unaffected, although I have also needed to downgrade my example project to use arquillian-tomcat-embedded-7:1.0.0.CR5 for this version to pass.
Adding {code:XML}<Loader delegate="true"/>{code} to the context.xml also works, although I wouldn't want to fundamentally alter how Tomcat behaves just to work around an Arquillian bug.
> Linkage error with arquillian-junit.jar
> ---------------------------------------
>
> Key: ARQ-1944
> URL: https://issues.jboss.org/browse/ARQ-1944
> Project: Arquillian
> Issue Type: Bug
> Affects Versions: 1.1.7.Final, 1.1.8.Final
> Environment: JDK7, Windows 7 x64, Linux x64
> Reporter: Chris Rankin
> Attachments: arquillian-hamcrest-test.tar.xz
>
>
> Testing a WAR in embedded Tomcat >= 7.0.51 using Restassured, JUnit and Hamcrest matchers. (TestNG works fine).
> The test fails with this error message:
> {code}Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.404 sec <<< FAILURE! - in org.testing.web.TroubleIT
> testTrouble(org.testing.web.TroubleIT) Time elapsed: 0.774 sec <<< ERROR!
> java.lang.LinkageError: loader constraint violation: when resolving interface method "com.jayway.restassured.specification.ResponseSpecification.statusCode(Lorg/hamcrest/Matcher;)Lcom/jayway/restassured/specification/ResponseSpecification;" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, org/testing/web/TroubleIT, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for resolved class, com/jayway/restassured/specification/ResponseSpecification, have different Class objects for the type cification.statusCode(Lorg/hamcrest/Matcher;)Lcom/jayway/restassured/specification/ResponseSpecification; used in the signature
> at org.testing.web.TroubleIT.testTrouble(TroubleIT.java:35)
> {code}
> This error can be resolved in three different ways:
> - Rewrite the test using TestNG
> - Rewrite the test without using any Hamcrest matchers.
> - Remove "org.hamcrest" from {{org.jboss.arquillian.junit.container.JUnitDeploymentAppender}}.
> See [Issue #78 for arquillian-core|https://github.com/arquillian/arquillian-core/issues/78]
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (ARQ-1944) Linkage error with arquillian-junit.jar
by Chris Rankin (JIRA)
[ https://issues.jboss.org/browse/ARQ-1944?page=com.atlassian.jira.plugin.s... ]
Chris Rankin updated ARQ-1944:
------------------------------
Description:
Testing a WAR in embedded Tomcat >= 7.0.51 using Restassured, JUnit and Hamcrest matchers. (TestNG works fine).
The test fails with this error message:
{code}Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.404 sec <<< FAILURE! - in org.testing.web.TroubleIT
testTrouble(org.testing.web.TroubleIT) Time elapsed: 0.774 sec <<< ERROR!
java.lang.LinkageError: loader constraint violation: when resolving interface method "com.jayway.restassured.specification.ResponseSpecification.statusCode(Lorg/hamcrest/Matcher;)Lcom/jayway/restassured/specification/ResponseSpecification;" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, org/testing/web/TroubleIT, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for resolved class, com/jayway/restassured/specification/ResponseSpecification, have different Class objects for the type cification.statusCode(Lorg/hamcrest/Matcher;)Lcom/jayway/restassured/specification/ResponseSpecification; used in the signature
at org.testing.web.TroubleIT.testTrouble(TroubleIT.java:35)
{code}
This error can be resolved in three different ways:
- Rewrite the test using TestNG
- Rewrite the test without using any Hamcrest matchers.
- Remove "org.hamcrest" from {{org.jboss.arquillian.junit.container.JUnitDeploymentAppender}}.
See [Issue #78 for arquillian-core|https://github.com/arquillian/arquillian-core/issues/78]
was:
Testing a WAR in embedded Tomcat >= 7.0.50 using Restassured, JUnit and Hamcrest matchers. (TestNG works fine).
The test fails with this error message:
{code}Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.404 sec <<< FAILURE! - in org.testing.web.TroubleIT
testTrouble(org.testing.web.TroubleIT) Time elapsed: 0.774 sec <<< ERROR!
java.lang.LinkageError: loader constraint violation: when resolving interface method "com.jayway.restassured.specification.ResponseSpecification.statusCode(Lorg/hamcrest/Matcher;)Lcom/jayway/restassured/specification/ResponseSpecification;" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, org/testing/web/TroubleIT, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for resolved class, com/jayway/restassured/specification/ResponseSpecification, have different Class objects for the type cification.statusCode(Lorg/hamcrest/Matcher;)Lcom/jayway/restassured/specification/ResponseSpecification; used in the signature
at org.testing.web.TroubleIT.testTrouble(TroubleIT.java:35)
{code}
This error can be resolved in three different ways:
- Rewrite the test using TestNG
- Rewrite the test without using any Hamcrest matchers.
- Remove "org.hamcrest" from {{org.jboss.arquillian.junit.container.JUnitDeploymentAppender}}.
See [Issue #78 for arquillian-core|https://github.com/arquillian/arquillian-core/issues/78]
> Linkage error with arquillian-junit.jar
> ---------------------------------------
>
> Key: ARQ-1944
> URL: https://issues.jboss.org/browse/ARQ-1944
> Project: Arquillian
> Issue Type: Bug
> Affects Versions: 1.1.7.Final, 1.1.8.Final
> Environment: JDK7, Windows 7 x64, Linux x64
> Reporter: Chris Rankin
> Attachments: arquillian-hamcrest-test.tar.xz
>
>
> Testing a WAR in embedded Tomcat >= 7.0.51 using Restassured, JUnit and Hamcrest matchers. (TestNG works fine).
> The test fails with this error message:
> {code}Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.404 sec <<< FAILURE! - in org.testing.web.TroubleIT
> testTrouble(org.testing.web.TroubleIT) Time elapsed: 0.774 sec <<< ERROR!
> java.lang.LinkageError: loader constraint violation: when resolving interface method "com.jayway.restassured.specification.ResponseSpecification.statusCode(Lorg/hamcrest/Matcher;)Lcom/jayway/restassured/specification/ResponseSpecification;" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, org/testing/web/TroubleIT, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for resolved class, com/jayway/restassured/specification/ResponseSpecification, have different Class objects for the type cification.statusCode(Lorg/hamcrest/Matcher;)Lcom/jayway/restassured/specification/ResponseSpecification; used in the signature
> at org.testing.web.TroubleIT.testTrouble(TroubleIT.java:35)
> {code}
> This error can be resolved in three different ways:
> - Rewrite the test using TestNG
> - Rewrite the test without using any Hamcrest matchers.
> - Remove "org.hamcrest" from {{org.jboss.arquillian.junit.container.JUnitDeploymentAppender}}.
> See [Issue #78 for arquillian-core|https://github.com/arquillian/arquillian-core/issues/78]
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (ARQ-1944) Linkage error with arquillian-junit.jar
by Marc Richards (JIRA)
[ https://issues.jboss.org/browse/ARQ-1944?page=com.atlassian.jira.plugin.s... ]
Marc Richards commented on ARQ-1944:
------------------------------------
I ran into this error using arquillian-tomcat-embedded with Tomcat 7.0.52 and 8.0.28. It appears that a change was made to the which classloader is used by default for Tomcat versions after 7.5.0:
https://bz.apache.org/bugzilla/show_bug.cgi?id=55943
https://tomcat.apache.org/tomcat-7.0-doc/changelog.html#Tomcat 7.0.51 (violetagg)
https://tomcat.apache.org/tomcat-8.0-doc/class-loader-howto.html#Class_Lo...
I was able to successfully work around the issue by adding the following line to context.xml: <Loader delegate="true"/>
> Linkage error with arquillian-junit.jar
> ---------------------------------------
>
> Key: ARQ-1944
> URL: https://issues.jboss.org/browse/ARQ-1944
> Project: Arquillian
> Issue Type: Bug
> Affects Versions: 1.1.7.Final, 1.1.8.Final
> Environment: JDK7, Windows 7 x64, Linux x64
> Reporter: Chris Rankin
> Attachments: arquillian-hamcrest-test.tar.xz
>
>
> Testing a WAR in embedded Tomcat >= 7.0.50 using Restassured, JUnit and Hamcrest matchers. (TestNG works fine).
> The test fails with this error message:
> {code}Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.404 sec <<< FAILURE! - in org.testing.web.TroubleIT
> testTrouble(org.testing.web.TroubleIT) Time elapsed: 0.774 sec <<< ERROR!
> java.lang.LinkageError: loader constraint violation: when resolving interface method "com.jayway.restassured.specification.ResponseSpecification.statusCode(Lorg/hamcrest/Matcher;)Lcom/jayway/restassured/specification/ResponseSpecification;" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, org/testing/web/TroubleIT, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for resolved class, com/jayway/restassured/specification/ResponseSpecification, have different Class objects for the type cification.statusCode(Lorg/hamcrest/Matcher;)Lcom/jayway/restassured/specification/ResponseSpecification; used in the signature
> at org.testing.web.TroubleIT.testTrouble(TroubleIT.java:35)
> {code}
> This error can be resolved in three different ways:
> - Rewrite the test using TestNG
> - Rewrite the test without using any Hamcrest matchers.
> - Remove "org.hamcrest" from {{org.jboss.arquillian.junit.container.JUnitDeploymentAppender}}.
> See [Issue #78 for arquillian-core|https://github.com/arquillian/arquillian-core/issues/78]
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months