[JBoss JIRA] (SHRINKWRAP-516) ContainerBase.addPackages() fails with IllegalArgumentException from ClassLoaderAsset
by Falko Modler (JIRA)
[ https://issues.jboss.org/browse/SHRINKWRAP-516?page=com.atlassian.jira.pl... ]
Falko Modler updated SHRINKWRAP-516:
------------------------------------
Priority: Major (was: Critical)
> ContainerBase.addPackages() fails with IllegalArgumentException from ClassLoaderAsset
> -------------------------------------------------------------------------------------
>
> Key: SHRINKWRAP-516
> URL: https://issues.jboss.org/browse/SHRINKWRAP-516
> Project: ShrinkWrap
> Issue Type: Bug
> Components: impl-base
> Affects Versions: 1.2.4
> Reporter: Falko Modler
>
> In my current JBoss EAP 6.4 project I tried to update Arquillian from 1.1.11 to 1.1.13 which fails with:
> {noformat}
> Caused by: java.lang.IllegalArgumentException: /com/some_company/some_project/some_package/SomeClass.class not found in classloader sun.misc.Launcher$AppClassLoader@6bc7c054
> at org.jboss.shrinkwrap.api.asset.ClassLoaderAsset.<init>(ClassLoaderAsset.java:70)
> at org.jboss.shrinkwrap.impl.base.URLPackageScanner.foundClass(URLPackageScanner.java:165)
> at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:157)
> at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:159)
> at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:159)
> at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:159)
> at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:159)
> at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:159)
> at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:159)
> at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:159)
> at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:145)
> at org.jboss.shrinkwrap.impl.base.URLPackageScanner.scanPackage(URLPackageScanner.java:113)
> at org.jboss.shrinkwrap.impl.base.container.ContainerBase.addPackage(ContainerBase.java:1520)
> at org.jboss.shrinkwrap.impl.base.container.ContainerBase.addPackages(ContainerBase.java:1485)
> at ...
> {noformat}
> Arquillian 1.1.13 brings in Shrinkwrap 1.2.6 (we are on 1.2.3 with Arquillian 1.1.11).
> After extensive research and debugging I am almost 100% sure that this is a regression caused by this commit (SHRINKWRAP-505):
> https://github.com/shrinkwrap/shrinkwrap/commit/d0df4ba3fd12998388521219e...
> The root cause of the problem lies within the {{else}} block of {{org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(File, String)}}:
> {code:java}
> private void handle(File file, String packageName) throws ClassNotFoundException {
> for (File child : file.listFiles()) {
> if (!child.isDirectory() && child.getName().endsWith(SUFFIX_CLASS)) {
> final String packagePrefix = packageName.length() > 0 ? packageName + "." : packageName;
> String className = packagePrefix + child.getName().substring(0, child.getName().lastIndexOf(SUFFIX_CLASS));
> foundClass(className, prefix + className.replace( '.', '/' ) + SUFFIX_CLASS );
> } else if (child.isDirectory() && addRecursively) {
> handle(child, packageName + "." + child.getName());
> }
> }
> }
> {code}
> The first {{handle()}} invocation has an _empty_ {{packageName}} and when the {{else}} block kicks in, {{handle()}} is called recursively with with e.g. ".com" which is a malformed package name.
> While SHRINKWRAP-505 did not touch this {{else}} block it _did_ remove a crucial {{.substring(1)}} call, see:
> https://github.com/shrinkwrap/shrinkwrap/commit/d0df4ba3fd12998388521219e...
> Suggested solution: Don't prepend a dot in case {{packageName}} is empty.
> Note: SHRINKWRAP-515 should be resolved alongside this fix as one of the affected tests was introduced in SHRINKWRAP-505.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
6 years, 7 months
[JBoss JIRA] (SHRINKWRAP-518) API Maven.resolver().resolve("a:b:123") from docs is unaccessible
by Leonid Gorshkov (JIRA)
Leonid Gorshkov created SHRINKWRAP-518:
------------------------------------------
Summary: API Maven.resolver().resolve("a:b:123") from docs is unaccessible
Key: SHRINKWRAP-518
URL: https://issues.jboss.org/browse/SHRINKWRAP-518
Project: ShrinkWrap
Issue Type: Bug
Components: api, doc
Reporter: Leonid Gorshkov
Priority: Critical
Attachments: image-2017-09-12-19-31-38-556.png, image-2017-09-12-19-34-51-252.png
in docs:
!image-2017-09-12-19-34-51-252.png|thumbnail!
but
!image-2017-09-12-19-31-38-556.png|thumbnail!
What alternative solutions exist?
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
6 years, 7 months