Re: Is it possible to have multiple versions of a java-lib installed?
One property of karaf: it can load its dependencies using maven.
Ie. it will download its dependencies to ~/.m2/repository and use it
from there. It doesn't have to be provided by other debian packages.
The question is: how much must be in place for karaf to boot far enough
to start loading files using maven?
I asked on the karaf-users mailing list, and the answer[1] is these in
the boot directory:
> -rw-r--r-- 1 sb sb 1440500 Dec 15 20:14 jna-4.5.0.jar
> -rw-r--r-- 1 sb sb 2324986 Dec 15 20:14 jna-platform-4.5.0.jar
> -rw-r--r-- 1 sb sb 31235 Dec 15 20:14 org.apache.karaf.diagnostic.boot-4.1.4.jar
> -rw-r--r-- 1 sb sb 18181 Dec 15 20:14 org.apache.karaf.jaas.boot-4.1.4.jar
> -rw-r--r-- 1 sb sb 150582 Dec 15 20:14 org.apache.karaf.main-4.1.4.jar
> -rw-r--r-- 1 sb sb 475256 Dec 15 20:14 org.osgi.core-6.0.0.jar
and these (the contents of etc/startup.properties in the karaf specific
maven URL notation):
mvn:org.apache.karaf.features/org.apache.karaf.features.extension/4.1.4 = 1
mvn:org.apache.felix/org.apache.felix.metatype/1.1.6 = 5
mvn:org.apache.karaf.services/org.apache.karaf.services.eventadmin/4.1.4 = 5
mvn:org.ops4j.pax.url/pax-url-aether/2.5.3 = 5
mvn:org.fusesource.jansi/jansi/1.16 = 8
mvn:org.ops4j.pax.logging/pax-logging-api/1.10.1 = 8
mvn:org.ops4j.pax.logging/pax-logging-log4j2/1.10.1 = 8
mvn:org.apache.felix/org.apache.felix.configadmin/1.8.16 = 10
mvn:org.apache.felix/org.apache.felix.fileinstall/3.6.4 = 11
mvn:org.apache.karaf.features/org.apache.karaf.features.core/4.1.4 = 15
The org.apache.karaf.* jars won't be in conflict with anything else,
they can be packaged as lib*-java.deb packages and used by the karaf
package.
This leaves the following jars in boot:
-rw-r--r-- 1 sb sb 1440500 Dec 15 20:14 jna-4.5.0.jar
-rw-r--r-- 1 sb sb 2324986 Dec 15 20:14 jna-platform-4.5.0.jar
-rw-r--r-- 1 sb sb 475256 Dec 15 20:14 org.osgi.core-6.0.0.jar
And the following in system:
mvn:org.apache.felix/org.apache.felix.metatype/1.1.6 = 5
mvn:org.ops4j.pax.url/pax-url-aether/2.5.3 = 5
mvn:org.fusesource.jansi/jansi/1.16 = 8
mvn:org.ops4j.pax.logging/pax-logging-api/1.10.1 = 8
mvn:org.ops4j.pax.logging/pax-logging-log4j2/1.10.1 = 8
mvn:org.apache.felix/org.apache.felix.configadmin/1.8.16 = 10
mvn:org.apache.felix/org.apache.felix.fileinstall/3.6.4 = 11
Would be legal for a karaf debian package to bundle its own version of
these jars?
And since the org.apache.karaf.* boot set jars probably isn't of
interest to other packages than karaf itself, would it be ok to bundle
these as well?
References:
[1] <http://karaf.922171.n3.nabble.com/How-much-of-the-system-repository-is-needed-for-a-karaf-boot-tp4052306p4052308.html>
Reply to: