Hi Alex, Actually, the —add-module that I was thinking is already there.
The problem is about the Felix framework (also equinox). Karaf 4.3.0.RC1 just works fine with JDK 13 (as I upgraded Felix framework version). However, Karaf 4.2.x only supports up to JDK 11. I just tried with Karaf 4.3.0-SNAPSHOT, and it works fine with JDK 13. So, no easy workaround on Karaf 4.2.x (changing Felix framework also means changing OSGi spec, which is not supported). So, if you really want to use JDK 13, you have to use Karaf 4.3.x. Regards JB > Le 24 févr. 2020 à 18:56, Jean-Baptiste Onofre <[email protected]> a écrit : > > Hi Alex, > > I gonna provide the workaround in the Jira and share there after (I’m working > on the fix in the train ;) ). > > Regards > JB > >> Le 24 févr. 2020 à 18:50, Alex Soto <[email protected] >> <mailto:[email protected]>> a écrit : >> >> Hi JB, >> >> As a work-around, can you provide more detail about the fix? >> Where do I need to add the `—ad-module` ? >> >> >> Best regards, >> Alex soto >> >> >> >> >>> On Feb 24, 2020, at 12:37 PM, Jean-Baptiste Onofre <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Hi, >>> >>> As said, it’s very easy to fix: just a missing —add-module. >>> >>> I’m fixing it right now. Thanks for the Jira. >>> >>> Regards >>> JB >>> >>>> Le 24 févr. 2020 à 18:02, Alex Soto <[email protected] >>>> <mailto:[email protected]>> a écrit : >>>> >>>> I tested with JDK 11 and it worked, but it does not work with JDK 13. >>>> I hope I can migrate to 13 directly, since it it the current version. >>>> >>>> With JDK 13, here is the error: >>>> >>>> >>>> $ bin/karaf >>>> ERROR: Error parsing system bundle export statement: >>>> org.osgi.dto;version="1.0",org.osgi.resource;version="1.0",org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto",org.osgi.framework;version="1.8",org.osgi.framework.dto;version="1.8";uses:="org.osgi.dto",org.osgi.fr >>>> >>>> <http://org.osgi.fr/>amework.hooks.bundle;version="1.1";uses:="org.osgi.framework",org.osgi.framework.hooks.resolver;version="1.0";uses:="org.osgi.framework.wiring",org.osgi.framework.hooks.service;version="1.1";uses:="org.osgi.framework",org.osgi.framework.hooks.weaving;version="1.1";uses:="org.osgi.framework.wiring",org.osgi.framework.launch;version="1.2";uses:="org.osgi.framework",org.osgi.framework.namespace;version="1.1";uses:="org.osgi.resource",org.osgi.framework.startlevel;version="1.0";uses:="org.osgi.framework",org.osgi.framework.startlevel.dto;version="1.0";uses:="org.osgi.dto",org.osgi.framework.wiring;version="1.2";uses:="org.osgi.framework,org.osgi.resource",org.osgi.framework.wiring.dto;version="1.2";uses:="org.osgi.dto,org.osgi.resource.dto",org.osgi.service.condpermadmin;version="1.1.1";uses:="org.osgi.framework,org.osgi.service.permissionadmin",org.osgi.service.packageadmin;version="1.2";uses:="org.osgi.framework",org.osgi.service.permissionadmin;version="1.2",org.osgi.service.resolver;version="1.0";uses:="org.osgi.resource",org.osgi.service.startlevel;version="1.1";uses:="org.osgi.framework",org.osgi.service.url;version="1.0",org.osgi.util.tracker;version="1.5.1";uses:="org.osgi.framework",org.apache.karaf.version;version="4.2.8",org.apache.karaf.jaas.boot.principal;uses:=javax.security.au >>>> >>>> <http://javax.security.au/>th;version="4.2.8",org.apache.karaf.jaas.boot;uses:="javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.osgi.framework";version="4.2.8",org.apache.karaf.info >>>> >>>> <http://org.apache.karaf.info/>;version="4.2.8",,org.apache.karaf.branding, >>>> sun.misc, com.sun.jmx.remote.protocol, com.sun.jmx.remote.protocol.jmxmp, >>>> org.apache.karaf.jaas.boot;uses:="javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.osgi.framework";version=4.2.8, >>>> >>>> org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version=4.2.8, >>>> org.apache.karaf.diagnostic.core;uses:=org.osgi.framework;version=4.2.8, >>>> org.apache.karaf.diagnostic.core.common;uses:=org.apache.karaf.diagnostic.core;version=4.2.8 >>>> org.osgi.framework.BundleException: Exported package names cannot be zero >>>> length. >>>> at >>>> org.apache.felix.framework.util.manifestparser.ManifestParser.normalizeExportClauses(ManifestParser.java:876) >>>> at >>>> org.apache.felix.framework.util.manifestparser.ManifestParser.<init>(ManifestParser.java:215) >>>> at >>>> org.apache.felix.framework.ExtensionManager.<init>(ExtensionManager.java:261) >>>> at org.apache.felix.framework.Felix.<init>(Felix.java:429) >>>> at >>>> org.apache.felix.framework.FrameworkFactory.newFramework(FrameworkFactory.java:28) >>>> at org.apache.karaf.main.Main.launch(Main.java:256) >>>> at org.apache.karaf.main.Main.main(Main.java:178) >>>> WARNING: An illegal reflective access operation has occurred >>>> WARNING: Illegal reflective access by >>>> org.apache.felix.framework.URLHandlers >>>> (file:/Users/asoto/Downloads/apache-karaf-4.2.8/system/org/apache/felix/org.apache.felix.framework/5.6.12/org.apache.felix.framework-5.6.12.jar) >>>> to constructor sun.net.www.protocol.file.Handler() >>>> WARNING: Please consider reporting this to the maintainers of >>>> org.apache.felix.framework.URLHandlers >>>> WARNING: Use --illegal-access=warn to enable warnings of further illegal >>>> reflective access operations >>>> WARNING: All illegal access operations will be denied in a future release >>>> >>>> Best regards, >>>> Alex soto >>>> >>>> >>>> >>>> >>>>> On Feb 21, 2020, at 2:10 PM, Jean-Baptiste Onofré <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> Let me check this out. I?m surprised. >>>>> >>>>> Regards >>>>> JB >>>>> >>>>> Le ven. 21 f?vr. 2020 ? 19:29, Alex Soto <[email protected] >>>>> <mailto:[email protected]>> a ?crit : >>>>> It may be more than one problem, JB, downloading a clean Karaf binary >>>>> and running it on Java 13 does not work out of the box. >>>>> Validating my application features.xml does not work either, >>>>> karaf-maven-plugin fails to validate it for Java 13. >>>>> >>>>> Best regards, >>>>> Alex soto >>>>> >>>>> >>>>> >>>>> >>>>> On Feb 21, 2020, at 12:55 PM, Jean-Baptiste Onofr? <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> On Jenkins we build and test using java 11. Let me fix for java 13. >>>>> >>>>> Regards >>>>> JB >>>>> >>>>> Le ven. 21 f?vr. 2020 ? 17:02, Alex Soto <[email protected] >>>>> <mailto:[email protected]>> a ?crit : >>>>> I just confirmed a clean Karaf binary distribution downloaded from Karaf >>>>> site, will not start with Java 13. >>>>> >>>>> >>>>> Best regards, >>>>> Alex soto >>>>> >>>>> >>>>> >>>>> >>>>> On Feb 21, 2020, at 9:04 AM, Alex Soto <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> Inspecting pax-logging-api-1.11.4.jar manifest, shows: >>>>> >>>>> >>>>> Import-Package: >>>>> org.osgi.framework;version="[1.0.0,2.0.0)", >>>>> org.osgi.framework.wiring;version="[1.0.0,2.0.0)", >>>>> org.osgi.util.tracker;version="[1.0.0,2.0.0)", >>>>> org.osgi.service.event;version="[1.0.0,2.0.0)";resolution:=optional, >>>>> org.osgi.service.log;version="[1.3.0,2.0.0)", >>>>> org.apache.log;resolution:=optional, >>>>> javax.xml.parsers, >>>>> org.w3c.dom,org.ops4j.pax.logging;version="[0.9.5,2.0.0)", >>>>> org.ops4j.pax.logging.avalon;version="[0.9.5,2.0.0)? >>>>> >>>>> >>>>> And pax-logging-api-1.11.4.jar is included in Karaf?s framework feature. >>>>> >>>>> <feature version="${project.version}" description="Karaf core feature" >>>>> name="framework" hidden="true"> >>>>> <!-- persistent wiring extension --> >>>>> <bundle >>>>> start-level="1">mvn:org.apache.karaf.features/org.apache.karaf.features.extension/${project.version}</bundle> >>>>> <!-- mvn: and wrap: url handlers --> >>>>> <bundle >>>>> start-level="5">mvn:org.ops4j.pax.url/pax-url-aether/${pax.url.version}</bundle> >>>>> <!-- logging --> >>>>> <bundle >>>>> start-level="8">mvn:org.ops4j.pax.logging/pax-logging-api/${pax.logging.version}</bundle> >>>>> <bundle >>>>> start-level="8">mvn:org.ops4j.pax.logging/pax-logging-log4j2/${pax.logging.version}</bundle> >>>>> <bundle >>>>> start-level="8">mvn:org.fusesource.jansi/jansi/${jansi.version}</bundle> >>>>> <!-- config admin --> >>>>> <bundle >>>>> start-level="9">mvn:org.apache.felix/org.apache.felix.coordinator/${felix.coordinator.version}</bundle> >>>>> <bundle >>>>> start-level="10">mvn:org.apache.felix/org.apache.felix.configadmin/${felix.configadmin.version}</bundle> >>>>> <!-- file install --> >>>>> <bundle >>>>> start-level="11">mvn:org.apache.felix/org.apache.felix.fileinstall/${felix.fileinstall.version}</bundle> >>>>> <!-- features service --> >>>>> <bundle >>>>> start-level="15">mvn:org.apache.karaf.features/org.apache.karaf.features.core/${project.version}</bundle> >>>>> <bundle dependency="true" >>>>> start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.2/${servicemix-spec.version}</bundle> >>>>> <bundle dependency="true" >>>>> start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/${servicemix-spec.version}</bundle> >>>>> </feature> >>>>> >>>>> I can see that package javax.xml.parsers is in >>>>> /Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib/jrt-fs.jar, >>>>> so it is part of the Java 13 runtime. >>>>> Why can?t Karaf resolve it then?. Does Karaf 4.2.8 works (has been >>>>> tested) with Java 13? >>>>> >>>>> >>>>> >>>>> On Feb 20, 2020, at 4:53 PM, Alex Soto <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> Notice that the error I am getting while validating the Features XML is >>>>> this: >>>>> >>>>> Unable to resolve root: missing requirement [root] osgi.identity; >>>>> osgi.identity=framework; type=karaf.feature; >>>>> filter:="(&(osgi.identity=framework)(type=karaf.feature))" [caused by: >>>>> Unable to resolve framework/4.2.8: missing requirement [framework/4.2.8] >>>>> osgi.identity; osgi.identity=org.ops4j.pax.logging.pax-logging-api; >>>>> type=osgi.bundle; version="[1.11.4,1.11.4]"; resolution:=mandatory >>>>> [caused by: Unable to resolve >>>>> org.ops4j.pax.logging.pax-logging-api/1.11.4: missing requirement >>>>> [org.ops4j.pax.logging.pax-logging-api/1.11.4] osgi.wiring.package; >>>>> filter:="(osgi.wiring.package=javax.xml.parsers)?]] >>>>> >>>>> >>>>> And that, apparently, is required by pax-logging-api (not my code), so I >>>>> would think that the correct dependency (providing javax.xml.parsers) >>>>> would be included in one of the Karaf?s features, or not? >>>>> >>>>> >>>>> Best regards, >>>>> Alex soto >>>>> >>>>> >>>>> >>>>> >>>>> On Feb 20, 2020, at 3:07 PM, Jean-Baptiste Onofr? <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> You have to provide jaxb bundle as it?s now module so not included in jdk >>>>> (like ?add-module). >>>>> So tour feature should reference jaxb dep. >>>>> >>>>> Regards >>>>> JB >>>>> >>>>> Le jeu. 20 f?vr. 2020 ? 16:58, Alex Soto <[email protected] >>>>> <mailto:[email protected]>> a ?crit : >>>>> More info: >>>>> >>>>> If I specify: >>>>> >>>>> <javase>1.8</javase> >>>>> >>>>> In the karaf-maven-plugin configuration, then I get error: >>>>> >>>>> missing requirement [xxx] osgi.ee; >>>>> filter:="(&(osgi.ee=JavaSE)(version=13))" >>>>> >>>>> And, if I specify: >>>>> >>>>> <javase>13</javase> or >>>>> <javase>1.13</javase> >>>>> >>>>> Then I get error: >>>>> >>>>> missing requirement [xxx] osgi.wiring.package; >>>>> filter:="(osgi.wiring.package=javax.xml.parsers)? >>>>> >>>>> Any hint will be appreciated. >>>>> Best regards, >>>>> Alex soto >>>>> >>>>> >>>>> >>>>> >>>>> On Feb 20, 2020, at 9:44 AM, Alex Soto <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> Anybody?s done migration of Karaf app to Java 13? (I said 11 before, but >>>>> it is actually 13) >>>>> >>>>> Some of the errors I am getting from karaf-maven-plugin:4.2.8:verify: >>>>> >>>>> >>>>> [WARNING] Unable to resolve root: missing requirement [root] >>>>> osgi.identity; osgi.identity=framework; type=karaf.feature; >>>>> filter:="(&(osgi.identity=framework)(type=karaf.feature))" [caused by: >>>>> Unable to resolve framework/4.2.8: missing requirement [framework/4.2.8] >>>>> osgi.identity; >>>>> osgi.identity=org.ops4j.pax.logging.pax-logging-api;type=osgi.bundle; >>>>> version="[1.11.4,1.11.4]"; resolution:=mandatory [caused by: Unable to >>>>> resolve org.ops4j.pax.logging.pax-logging-api/1.11.4: missing requirement >>>>> [org.ops4j.pax.logging.pax-logging-api/1.11.4] osgi.wiring.package; >>>>> filter:="(osgi.wiring.package=javax.xml.parsers)"]] >>>>> >>>>> >>>>> >>>>> >>>>> Best regards, >>>>> Alex soto >>>>> >>>>> >>>>> >>>>> >>>>> On Feb 19, 2020, at 1:26 PM, Alex Soto <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> Hello, >>>>> >>>>> I am migrating to Java 11 (from Java 8). Everything builds successfully, >>>>> but running Pax-Exam integration tests produces this error: >>>>> >>>>> >>>>> WARNING: package org.apache.karaf.specs.locator not in java.base >>>>> ERROR: Error parsing system bundle export statement: >>>>> org.osgi.dto;version="1.0",org.osgi.resource;version="1.0",org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto",org.osgi.framework;version="1.8",org.osgi.framework.dto;version="1.8";uses:="org.osgi.dto",org.osgi.framework.hooks.bundle;version="1.1";uses:="org.osgi.framework",org.osgi.framework.hooks.resolver;version="1.0";uses:="org.osgi.framework.wiring",org.osgi.framework.hooks.service;version="1.1";uses:="org.osgi.framework",org.osgi.framework.hooks.weaving;version="1.1";uses:="org.osgi.framework.wiring",org.osgi.framework.launch;version="1.2";uses:="org.osgi.framework",org.osgi.framework.namespace;version="1.1";uses:="org.osgi.resource",org.osgi.framework.startlevel;version="1.0";uses:="org.osgi.framework",org.osgi.framework.startlevel.dto;version="1.0";uses:="org.osgi.dto",org.osgi.framework.wiring;version="1.2";uses:="org.osgi.framework,org.osgi.resource",org.osgi.framework.wiring.dto;version="1.2";uses:="org.osgi.dto,org.osgi.resource.dto",org.osgi.service.co >>>>> >>>>> <http://org.osgi.service.co/>ndpermadmin;version="1.1.1";uses:="org.osgi.framework,org.osgi.service.permissionadmin",org.osgi.service.packageadmin;version="1.2";uses:="org.osgi.framework",org.osgi.service.permissionadmin;version="1.2",org.osgi.service.resolver;version="1.0";uses:="org.osgi.resource",org.osgi.service.startlevel;version="1.1";uses:="org.osgi.framework",org.osgi.service.url;version="1.0",org.osgi.util.tracker;version="1.5.1";uses:="org.osgi.framework",org.apache.karaf.version;version="4.2.8",org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version="4.2.8",org.apache.karaf.jaas.boot;uses:="javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.osgi.framework";version="4.2.8",org.apache.karaf.info >>>>> <http://he.karaf.info/>;version="4.2.8",,org.apache.karaf.branding, >>>>> sun.misc, com.sun.jmx.remote.protocol, com.sun.jmx.remote.protocol.jmxmp, >>>>> org.apache.karaf.jaas.boot;uses:="javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.osgi.framework";version=4.2.8, >>>>> >>>>> org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version=4.2.8, >>>>> org.apache.karaf.diagnostic.core;uses:=org.osgi.framework;version=4.2.8, >>>>> org.apache.karaf.diagnostic.core.common;uses:=org.apache.karaf.diagnostic.core;version=4.2.8 >>>>> org.osgi.framework.BundleException: Exported package names cannot be zero >>>>> length. >>>>> at >>>>> org.apache.felix.framework.util.manifestparser.ManifestParser.normalizeExportClauses(ManifestParser.java:876) >>>>> at >>>>> org.apache.felix.framework.util.manifestparser.ManifestParser.<init>(ManifestParser.java:215) >>>>> at >>>>> org.apache.felix.framework.ExtensionManager.<init>(ExtensionManager.java:261) >>>>> at org.apache.felix.framework.Felix.<init>(Felix.java:429) >>>>> at >>>>> org.apache.felix.framework.FrameworkFactory.newFramework(FrameworkFactory.java:28) >>>>> at org.apache.karaf.main.Main.launch(Main.java:256) >>>>> at org.apache.karaf.main.Main.main(Main.java:178) >>>>> >>>>> >>>>> I understand there is an empty package export (two consecutive commas in >>>>> red color above), but I don?t know where it is coming from. Any ideas? >>>>> >>>>> Best regards, >>>>> Alex soto >>>>> >>>> >>> >> >
