Hi, I'm gonna help on this one, as I also need this in a personal project ;)
I'm starting a "fixing" branch. Regards JB On 11/06/2018 16:30, Ignasi Barrera wrote: > This thread is cross-posted to the jclouds-dev list. > > We (jclouds) are trying to move our codebase to Java 8 and are stuck > with an issue we've found in our Karaf integration that we are not able > to understand. > > We have our codebase compiled with Java 8, and our Karaf > integration (built with Java 8 too) updated to use Karaf 4.2.0. We are > able to add the generated jclouds features repo to a vanilla Karaf > distribution, but after installing a feature for the first time, all > subsequent attempts to install a feature, or even to uninstall a just > installed one (?!), we get an error similar to the following one. Here > is a complete example with a just downloaded Karaf 4.2.0: > > karaf@root()> feature:repo-add > mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features > Adding feature url > mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features > > karaf@root()> feature:repo-list > Repository │ URL > ──────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────── > enterprise-4.2.0 │ > mvn:org.apache.karaf.features/enterprise/4.2.0/xml/features > pax-transx-0.2.0 │ > mvn:org.ops4j.pax.transx/pax-transx-features/0.2.0/xml/features > jclouds-2.2.0-SNAPSHOT │ > mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features > framework-4.2.0 │ > mvn:org.apache.karaf.features/framework/4.2.0/xml/features > org.ops4j.pax.web-7.0.0 │ > mvn:org.ops4j.pax.web/pax-web-features/7.0.0/xml/features > hibernate-validator-osgi-features │ > mvn:org.hibernate.validator/hibernate-validator-osgi-karaf-features/6.0.9.Final/xml/features > hibernate-osgi │ > mvn:org.hibernate/hibernate-osgi/5.2.9.Final/xml/karaf > pax-jms-0.3.0 │ > mvn:org.ops4j.pax.jms/pax-jms-features/0.3.0/xml/features > org.ops4j.pax.cdi-1.0.0 │ > mvn:org.ops4j.pax.cdi/pax-cdi-features/1.0.0/xml/features > standard-4.2.0 │ > mvn:org.apache.karaf.features/standard/4.2.0/xml/features > spring-4.2.0 │ > mvn:org.apache.karaf.features/spring/4.2.0/xml/features > org.ops4j.pax.jdbc-1.2.0 │ > mvn:org.ops4j.pax.jdbc/pax-jdbc-features/1.2.0/xml/features > aries-jpa-2.6.1 │ > mvn:org.apache.aries.jpa/jpa-features/2.6.1/xml/features > > karaf@root()> feature:install jclouds-digitalocean2 > > karaf@root()> feature:list | grep jclouds | grep Started > jclouds-guice │ 2.2.0.SNAPSHOT │ │ > Started │ jclouds-2.2.0-SNAPSHOT │ jclouds - Google Guice > jclouds │ 2.2.0.SNAPSHOT │ │ > Started │ jclouds-2.2.0-SNAPSHOT │ jclouds > jclouds-compute │ 2.2.0.SNAPSHOT │ │ > Started │ jclouds-2.2.0-SNAPSHOT │ jclouds - compute > jclouds-scriptbuilder │ 2.2.0.SNAPSHOT │ │ > Started │ jclouds-2.2.0-SNAPSHOT │ jclouds - scriptbuilder > jclouds-api-oauth │ 2.2.0.SNAPSHOT │ │ > Started │ jclouds-2.2.0-SNAPSHOT │ jclouds - API - OAuth > jclouds-digitalocean2 │ 2.2.0.SNAPSHOT │ x │ > Started │ jclouds-2.2.0-SNAPSHOT │ Components to access > DigitalOcean v2 > > karaf@root()> feature:uninstall jclouds-digitalocean2 > > > org.osgi.service.resolver.ResolutionException: Unable to resolve root: > missing requirement [root] osgi.identity; osgi.identity=jaas; > type=karaf.feature; version="[4.2.0,4.2.0]"; > filter:="(&(osgi.identity=jaas)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))" > [caused by: Unable to resolve jaas/4.2.0: missing requirement > [jaas/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.jaas.modules; > type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused > by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing > requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package; > filter:="(osgi.wiring.package=javax.net <http://javax.net>)"]] > at > org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42) > at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:391) > at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377) > at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331) > at > org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:248) > at > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388) > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025) > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Error executing command: Unable to resolve root: missing requirement > [root] osgi.identity; osgi.identity=jaas; type=karaf.feature; > version="[4.2.0,4.2.0]"; > filter:="(&(osgi.identity=jaas)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))" > [caused by: Unable to resolve jaas/4.2.0: missing requirement > [jaas/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.jaas.modules; > type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused > by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing > requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package; > filter:="(osgi.wiring.package=javax.net <http://javax.net>)"]] > > karaf@root()> feature:install jclouds-aws-ec2 > org.osgi.service.resolver.ResolutionException: Unable to resolve root: > missing requirement [root] osgi.identity; osgi.identity=diagnostic; > type=karaf.feature; version="[4.2.0,4.2.0]"; > filter:="(&(osgi.identity=diagnostic)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))" > [caused by: Unable to resolve diagnostic/4.2.0: missing requirement > [diagnostic/4.2.0] osgi.identity; > osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle; > version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to > resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement > [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package; > filter:="(osgi.wiring.package=javax.management)"]] > at > org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42) > at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:391) > at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377) > at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331) > at > org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:248) > at > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388) > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025) > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Error executing command: Unable to resolve root: missing requirement > [root] osgi.identity; osgi.identity=diagnostic; type=karaf.feature; > version="[4.2.0,4.2.0]"; > filter:="(&(osgi.identity=diagnostic)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))" > [caused by: Unable to resolve diagnostic/4.2.0: missing requirement > [diagnostic/4.2.0] osgi.identity; > osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle; > version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to > resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement > [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package; > filter:="(osgi.wiring.package=javax.management)"]] > > At this point, it fails to install/uninstall any feature. > > The relevant changes to the jclouds-karaf project are here: > https://github.com/jclouds/jclouds-karaf/pull/108 > Could the OSGi filter introduced in that PR be the cause of the issue? > If it is could be part of the issue, why can are we able to install the > feature initially? > > > If you want to reproduce the issue locally you can build the following > branches with "mvn clean install -DskipTests": > 1. https://github.com/gaul/jclouds/tree/jdk1.8 > 2. https://github.com/andreaturli/jclouds-labs/tree/java8-guava21 > 3. https://github.com/andreaturli/jclouds-karaf/tree/java8-guava21 > > After these three repos have been built everything should be in place to > install the local jclouds feature repo and reproduce the issue. > > > > > Your help would be highly appreciated, > > > I. -- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://www.talend.com
