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.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.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.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;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]> wrote:
> 
> Let me check this out. I?m surprised. 
> 
> Regards 
> JB
> 
> Le ven. 21 f?vr. 2020 ? 19:29, Alex Soto <[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
> 

Reply via email to