activemq-osgi generates MANIFEST.MF with double version arguments
I am trying to run ActiveMQ on Karaf, with Camel and CXF.
Basic idea is to accept SOAP request ( over CXF ) and pass on the request
to ActiveMQ using Camel.
All versions of projects are build from GIT master ( see footnotes for
exact versions ).
When I deploy ActiveMQ, Camel, CXF on Karaf, I see error in log, saying:
Caused by: java.lang.ClassNotFoundException:
org.apache.camel.component.jms.JmsBinding not found by
I've installed Camel feature camel-jms ( this features exports class
JmsBinding ). I can see JmsBinding class is exported from the camel-jms
Even with this error printed in log file I can run example ( works as
promoted ). But this made me look at the project activemq-osgi, and pom.xml
file inside this project.
It has this values for import packages (:
( pom.xml:46 )
where camel-version-range is set to:
This produces MANIFEST.MF file as:
So, 2.22 is taken from Camel dependency that is set to
Basically the only question/dilemma here is: is this correct? Can OSGi
package-import has multiple "Version" arguments?
I've changed pom.xml ( inside activemq-osgi ) to have imports defined like
( added version only for org.apache.camel.component.jms, and left out for
all other packages inside org.apache.camel, as it looks like, version is
added automatically -- did not find where this is )
And this created "correct" MANIFEST.MF. Even with this change I see error
as before, but I guess this is better MANIFEST.MF, or not?
- Karaf 4.2.2-SNAPSHOT
- ActiveMQ 5.16.0-SNAPSHOT
- Camel 2.23.0-SNAPSHOT
All from GitHub, build today ( 13.12.2018 ).