I have created a docker image that used to work
https://hub.docker.com/repository/docker/steinarb/oldalbum
It's built on top of the 4.2.9 karaf official docker image by adding
mvn:no.priv.bang.oldalbum/karaf/LATEST/xml/features
to featuresRepositories, and adding
jersey-karaf-feature, \
oldalbum-with-memory-db-with-url-init
to featuresToBoot
Doing
feature:repo-add mvn:no.priv.bang.oldalbum/karaf/LATEST/xml/features
feature:install jersey-karaf-feature
feature:install oldalbum-with-memory-db-with-url-init
works perfectly (oldalbum is deployed to OSSRH)
However, the docker image fails with the following stack trace:
20:43:01.429 ERROR [activator-1-thread-2] Error installing boot features
org.apache.karaf.features.internal.util.MultiException: Error:
Error downloading
wrap:file:/root/.m2/repository/org/owasp/encoder/encoder/1.2.2/encoder-1.2.2.jar
Error downloading
wrap:file:/root/.m2/repository/org/owasp/encoder/encoder/1.2.2/encoder-1.2.2.jar
at
org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.<init>(MavenDownloadManager.java:91)
at
org.apache.karaf.features.internal.download.impl.MavenDownloadManager.createDownloader(MavenDownloadManager.java:72)
at
org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:457)
at
org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:452)
at
org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:224)
at
org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:393)
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at java.base/java.lang.Thread.run(Unknown Source)
Suppressed: java.io.IOException: Error downloading
wrap:file:/root/.m2/repository/org/owasp/encoder/encoder/1.2.2/encoder-1.2.2.jar
at
org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:77)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
Source)
... 3 more
Caused by: java.io.IOException: Could not download
[wrap:file:/root/.m2/repository/org/owasp/encoder/encoder/1.2.2/encoder-1.2.2.jar]
at
org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:92)
at
org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
... 6 more
Caused by: java.net.MalformedURLException: Unknown protocol: wrap
at java.base/java.net.URL.<init>(Unknown Source)
at java.base/java.net.URL.<init>(Unknown Source)
at java.base/java.net.URL.<init>(Unknown Source)
at
org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:63)
... 7 more
Caused by: java.lang.IllegalStateException: Unknown protocol: wrap
at
org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
... 11 more
[CIRCULAR REFERENCE:java.io.IOException: Error downloading
wrap:file:/root/.m2/repository/org/owasp/encoder/encoder/1.2.2/encoder-1.2.2.jar]
Does anyone have an idea what's happending here?
I assume the last part, "CIRCULAR REFERENCE", points to something wrong
with my features...?
But the trick is how to find it?
Is there a features debugging tools somewhere?
Thanks!