You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Bing-ok (Jira)" <ji...@apache.org> on 2020/09/16 06:07:00 UTC

[jira] [Commented] (DELTASPIKE-1414) “NoSuchMethodErrors” due to multiple versions of org.jboss.shrinkwrap:shrinkwrap-api:jar

    [ https://issues.apache.org/jira/browse/DELTASPIKE-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17196703#comment-17196703 ] 

Bing-ok commented on DELTASPIKE-1414:
-------------------------------------

[~struberg] Could you please help me review this issue? Thank you very much.

> “NoSuchMethodErrors” due to multiple versions of org.jboss.shrinkwrap:shrinkwrap-api:jar
> ----------------------------------------------------------------------------------------
>
>                 Key: DELTASPIKE-1414
>                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-1414
>             Project: DeltaSpike
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: Tests
>    Affects Versions: 1.9.5
>            Reporter: Bing-ok
>            Priority: Major
>
> h1. Issue description
> Hi, there are multiple versions of _*org.jboss.shrinkwrap:shrinkwrap-api*_ in _*deltaspike\deltaspike\test-utils*_. As shown in the following dependency tree, according to Maven's “nearest wins” strategy, only _*org.jboss.shrinkwrap:shrinkwrap-api:1.0.1*_ can be loaded, and _*org.jboss.shrinkwrap:shrinkwrap-api:1.2.2*_ will be shadowed.
> However, several methods defined in shadowed version _*org.jboss.shrinkwrap:shrinkwrap-api:1.2.2*_ is referenced by client project via *_org.jboss.arquillian.container:arquillian-container-test-spi:1.1.8.Final_*, but missing in the actually loaded version _*org.jboss.shrinkwrap:shrinkwrap-api:1.0.1*_.
> For instance, the following missing methods(defined in _*org.jboss.shrinkwrap:shrinkwrap-api:1.2.2*_) is actually referenced by _*deltaspike\deltaspike\test-utils*_, which will introduce a runtime error(i.e., "NoSuchMethodErrors") into _*deltaspike\deltaspike\test-utils*_.
> 1. _*org.jboss.shrinkwrap.api.ArchiveEvent: void init (org.jboss.shrinkwrap.api.ArchivePath,org.jboss.shrinkwrap.api.asset.Asset)*_ is invoked by _*deltaspike\deltaspike\test-utils*_ via the following path:
> {noformat}
> paths--
> <org.apache.deltaspike.test.arquillian.DeltaSpikeServerUtilAppender: org.jboss.shrinkwrap.api.Archive buildArchive()> deltaspike\deltaspike\test-utils\target\classes
> <org.jboss.shrinkwrap.impl.base.container.ContainerBase: org.jboss.shrinkwrap.api.Archive addAsManifestResource(org.jboss.shrinkwrap.api.asset.Asset,java.lang.String)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.container.ContainerBase: org.jboss.shrinkwrap.api.Archive addAsManifestResource(org.jboss.shrinkwrap.api.asset.Asset,org.jboss.shrinkwrap.api.ArchivePath)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.container.ContainerBase: org.jboss.shrinkwrap.api.Archive add(org.jboss.shrinkwrap.api.asset.Asset,org.jboss.shrinkwrap.api.ArchivePath)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.MemoryMapArchiveBase: org.jboss.shrinkwrap.api.Archive add(org.jboss.shrinkwrap.api.asset.Asset,org.jboss.shrinkwrap.api.ArchivePath)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.MemoryMapArchiveBase: org.jboss.shrinkwrap.api.Archive addAsset(org.jboss.shrinkwrap.api.ArchivePath,org.jboss.shrinkwrap.api.asset.Asset)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.MemoryMapArchiveBase: org.jboss.shrinkwrap.api.asset.Asset invokeHandlers(org.jboss.shrinkwrap.api.ArchivePath,org.jboss.shrinkwrap.api.asset.Asset)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.api.ArchiveEvent: void <init>(org.jboss.shrinkwrap.api.ArchivePath,org.jboss.shrinkwrap.api.asset.Asset)>{noformat}
> 2. _*org.jboss.shrinkwrap.api.IllegalOverwriteException: void init (java.lang.String)*_ is invoked by _*deltaspike\deltaspike\test-utils*_ via the following path:
> {noformat}
> paths--
> <org.apache.deltaspike.test.arquillian.DeltaSpikeServerUtilAppender: org.jboss.shrinkwrap.api.Archive buildArchive()> deltaspike\deltaspike\test-utils\target\classes
> <org.jboss.shrinkwrap.impl.base.container.ContainerBase: org.jboss.shrinkwrap.api.Archive addAsManifestResource(org.jboss.shrinkwrap.api.asset.Asset,java.lang.String)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.container.ContainerBase: org.jboss.shrinkwrap.api.Archive addAsManifestResource(org.jboss.shrinkwrap.api.asset.Asset,org.jboss.shrinkwrap.api.ArchivePath)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.container.ContainerBase: org.jboss.shrinkwrap.api.Archive add(org.jboss.shrinkwrap.api.asset.Asset,org.jboss.shrinkwrap.api.ArchivePath)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.MemoryMapArchiveBase: org.jboss.shrinkwrap.api.Archive add(org.jboss.shrinkwrap.api.asset.Asset,org.jboss.shrinkwrap.api.ArchivePath)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.MemoryMapArchiveBase: org.jboss.shrinkwrap.api.Archive addAsset(org.jboss.shrinkwrap.api.ArchivePath,org.jboss.shrinkwrap.api.asset.Asset)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.api.IllegalOverwriteException: void <init>(java.lang.String)>{noformat}
> 3. _*org.jboss.shrinkwrap.api.ArchiveEvent: org.jboss.shrinkwrap.api.asset.Asset getHandledAsset()*_ is invoked by _*deltaspike\deltaspike\test-utils*_ via the following path:
> {noformat}
> paths--
> <org.apache.deltaspike.test.arquillian.DeltaSpikeServerUtilAppender: org.jboss.shrinkwrap.api.Archive buildArchive()> deltaspike\deltaspike\test-utils\target\classes
> <org.jboss.shrinkwrap.impl.base.container.ContainerBase: org.jboss.shrinkwrap.api.Archive addAsManifestResource(org.jboss.shrinkwrap.api.asset.Asset,java.lang.String)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.container.ContainerBase: org.jboss.shrinkwrap.api.Archive addAsManifestResource(org.jboss.shrinkwrap.api.asset.Asset,org.jboss.shrinkwrap.api.ArchivePath)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.container.ContainerBase: org.jboss.shrinkwrap.api.Archive add(org.jboss.shrinkwrap.api.asset.Asset,org.jboss.shrinkwrap.api.ArchivePath)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.MemoryMapArchiveBase: org.jboss.shrinkwrap.api.Archive add(org.jboss.shrinkwrap.api.asset.Asset,org.jboss.shrinkwrap.api.ArchivePath)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.MemoryMapArchiveBase: org.jboss.shrinkwrap.api.Archive addAsset(org.jboss.shrinkwrap.api.ArchivePath,org.jboss.shrinkwrap.api.asset.Asset)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.impl.base.MemoryMapArchiveBase: org.jboss.shrinkwrap.api.asset.Asset invokeHandlers(org.jboss.shrinkwrap.api.ArchivePath,org.jboss.shrinkwrap.api.asset.Asset)> Repositories\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.2.2\shrinkwrap-impl-base-1.2.2.jar
> <org.jboss.shrinkwrap.api.ArchiveEvent: org.jboss.shrinkwrap.api.asset.Asset getHandledAsset()>{noformat}
> h1. Suggested fixing solutions
> Upgrade dependency _*org.jboss.shrinkwrap:shrinkwrap-api*_ from _*1.0.1*_ to _*1.2.2*_.
> Thank you very much for your attention.
>  Best regards,
> h1. Dependency tree----
> {noformat}
> [INFO] org.apache.deltaspike.test:test-utils:jar:1.9.5-SNAPSHOT
> [INFO] +- org.jboss.shrinkwrap:shrinkwrap-api:jar:1.0.1:compile
> [INFO] +- org.jboss.arquillian.container:arquillian-container-test-spi:jar:1.1.8.Final:compile
> [INFO] |  +- org.jboss.arquillian.container:arquillian-container-spi:jar:1.1.8.Final:compile
> [INFO] |  |  \- (org.jboss.shrinkwrap:shrinkwrap-api:jar:1.2.2:compile - omitted for conflict with 1.0.1)
> [INFO] |  \- org.jboss.arquillian.container:arquillian-container-test-api:jar:1.1.8.Final:compile
> [INFO] |     \- (org.jboss.shrinkwrap:shrinkwrap-api:jar:1.2.2:compile - omitted for conflict with 1.0.1)
> [INFO] \- org.jboss.arquillian.junit:arquillian-junit-container:jar:1.1.8.Final:test
> [INFO]    \- org.jboss.shrinkwrap:shrinkwrap-impl-base:jar:1.2.2:test
> [INFO]       +- (org.jboss.shrinkwrap:shrinkwrap-api:jar:1.2.2:test - omitted for conflict with 1.0.1)
> [INFO]       \- org.jboss.shrinkwrap:shrinkwrap-spi:jar:1.2.2:test
> [INFO]          \- (org.jboss.shrinkwrap:shrinkwrap-api:jar:1.2.2:test - omitted for conflict with 1.0.1)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)