ops4j / org.ops4j.pax.runner

Multi Framework OSGi Runner
http://team.ops4j.org/wiki/display/paxrunner/
47 stars 39 forks source link

Jar contains ops4j artifacts, causes java.lang.AbstractMethodError in pax-runner [PAXRUNNER-450] #445

Open ops4j-issues opened 10 years ago

ops4j-issues commented 10 years ago

Ioan Eugen Stan created PAXRUNNER-450

I've made some dependency upgrades to pax-runner so I can provision karaf features. One dependency was pax-url from 1.x to 2.2.0 . The build passes but the artifact is unusable. When run I get this:

-------------------
_
/ /
/ / Oops, there has been a problem!
/ /
/_/ org.ops4j.pax.url.mvn.internal.Activator$1.createConfiguration(Lorg/ops4j/util/property/PropertyResolver;)Ljava/lang/Object;

/__/

-> Exception caught during execution:
java.lang.AbstractMethodError: org.ops4j.pax.url.mvn.internal.Activator$1.createConfiguration(Lorg/ops4j/util/property/PropertyResolver;)Ljava/lang/Object;
at org.ops4j.pax.url.commons.handler.HandlerActivator.start(HandlerActivator.java:122)
at org.ops4j.pax.runner.Run.createActivator(Run.java:754)
at org.ops4j.pax.runner.Run.installHandlers(Run.java:353)
at org.ops4j.pax.runner.Run.start(Run.java:201)
at org.ops4j.pax.runner.Run.main(Run.java:134)
at org.ops4j.pax.runner.Run.main(Run.java:102)
----------------

The issue seems to be related to shading. The anonymous inner lass in org.ops4j.pax.url.mvn.internal.Activator has a createConfigurationMethod that receives an org.ops4j.util.property.PropertyResolver type object. However. the MavenConfigurationImpl class is expecting a shaded version: shaded.org.ops4j.util.property.PropertyResolver


final MavenConfigurationImpl config =
new MavenConfigurationImpl( propertyResolver, ServiceConstants.PID );



Affects: 1.8.6 Votes: 0, Watches: 2


Referenced issues

aggregation of:

blocks:

ops4j-issues commented 9 years ago

Mario Krizmanić commented

Please test with pax-runner 1.8.7-SNAPSHOT