Re: Felix on jdk11
No. The felix framework is only a single jar. Any other jars that happen to have felix in their name are just bundles. I’ll have to let Karl or another felix insider comment on your second question. It would need to be clarified though since “conform to” could mean any number of things. Neil. On Mon, 18 Feb 2019 at 18:39, Chuck Davis wrote: > So ALL the Felix jars go on the classpath not just felix.jar? I'll > experiment with that. Thanks much for the assist. > > That begs the question then, when will Felix conform to jdk9+ modules? I > have an OpenJDK11/OpenJFX11 application I want to distribute as a > self-updating application to the end-users. > > On Mon, Feb 18, 2019 at 10:31 AM Neil Bartlett > wrote: > > > It looks like you are still running with Felix on the modulepath rather > > than the classpath. This is the giveaway from the output you showed: > > > > 'module java.base does not "opens java.net" to module > > org.apache.felix.framework > > at org.apache.felix.framework@6.0.2' > > > > In other words, Java thinks that Felix is a module. > > > > Put Felix on the classpath and it should work. > > > > Regards, > > Neil > > > > > > On Mon, Feb 18, 2019 at 6:23 PM Chuck Davis wrote: > > > > > Didn't make any difference. Still getting the following exception with > > > felix.jar on the classpath: > > > > > > chuck@linux-hk84:~> ./startJFXFelix > > > The framework class is: org.apache.felix.framework.Felix > > ><-- my class output > > > loaded bundle: org.apache.felix.framework which is bundle number: 0 > > ><-- my class output > > > Exception in thread "main" java.lang.ExceptionInInitializerError > > > at org.apache.felix.framework@6.0.2 > > > > > > > > > /org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:513) > > > at java.base/java.net.URL.getURLStreamHandler(URL.java:1415) > > > at java.base/java.net.URL.(URL.java:633) > > > at org.apache.felix.framework@6.0.2 > > > > > > > > > /org.apache.felix.framework.util.SecureAction.createURL(SecureAction.java:256) > > > at org.apache.felix.framework@6.0.2 > > > > > > > > > /org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:148) > > > at org.apache.felix.framework@6.0.2 > > > > /org.apache.felix.framework.cache.JarRevision.(JarRevision.java:76) > > > at org.apache.felix.framework@6.0.2 > > > > > > > > > /org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:799) > > > at org.apache.felix.framework@6.0.2 > > > > > > > > > /org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:480) > > > at org.apache.felix.framework@6.0.2 > > > > > > > > > /org.apache.felix.framework.cache.BundleArchive.(BundleArchive.java:148) > > > at org.apache.felix.framework@6.0.2 > > > > > > /org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:462) > > > at org.apache.felix.framework@6.0.2 > > > /org.apache.felix.framework.Felix.installBundle(Felix.java:3227) > > > at org.apache.felix.framework@6.0.2 > > > > > > > > > /org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:147) > > > at org.apache.felix.framework@6.0.2 > > > > > > > > > /org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:120) > > > at > > > JFXFelix/com.yakridge.jfxfelix.JFXMain.someNewMethod(JFXMain.java:65) > > > at JFXFelix/com.yakridge.jfxfelix.JFXMain.main(JFXMain.java:30) > > > Caused by: java.lang.RuntimeException: Unable to make protected boolean > > > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) > accessible: > > > module java.base does not "opens java.net" to module > > > org.apache.felix.framework > > > at org.apache.felix.framework@6.0.2 > > > > > > > > > /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:104) > > > ... 15 more > > > Caused by: java.lang.reflect.InaccessibleObjectException: Unable to > make > > > protected boolean > > > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) > accessible: > > > module java.base does not "opens java.net" to module > > > org.apache.felix.framework > > > at > > > > > > > > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340) > > > at > > > > > > > > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280) > > > at > > > > java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) > > > at > > > java.base/java.lang.reflect.Method.setAccessible(Method.java:192) > > > at org.apache.felix.framework@6.0.2 > > > > > > > > > /org.apache.felix.framework.util.SecureAction.setAccesssible(SecureAction.java:871) > > > at org.apache.felix.framework@6.0.2 > > > > > > > > >
Re: Felix on jdk11
So ALL the Felix jars go on the classpath not just felix.jar? I'll experiment with that. Thanks much for the assist. That begs the question then, when will Felix conform to jdk9+ modules? I have an OpenJDK11/OpenJFX11 application I want to distribute as a self-updating application to the end-users. On Mon, Feb 18, 2019 at 10:31 AM Neil Bartlett wrote: > It looks like you are still running with Felix on the modulepath rather > than the classpath. This is the giveaway from the output you showed: > > 'module java.base does not "opens java.net" to module > org.apache.felix.framework > at org.apache.felix.framework@6.0.2' > > In other words, Java thinks that Felix is a module. > > Put Felix on the classpath and it should work. > > Regards, > Neil > > > On Mon, Feb 18, 2019 at 6:23 PM Chuck Davis wrote: > > > Didn't make any difference. Still getting the following exception with > > felix.jar on the classpath: > > > > chuck@linux-hk84:~> ./startJFXFelix > > The framework class is: org.apache.felix.framework.Felix > ><-- my class output > > loaded bundle: org.apache.felix.framework which is bundle number: 0 > ><-- my class output > > Exception in thread "main" java.lang.ExceptionInInitializerError > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:513) > > at java.base/java.net.URL.getURLStreamHandler(URL.java:1415) > > at java.base/java.net.URL.(URL.java:633) > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.util.SecureAction.createURL(SecureAction.java:256) > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:148) > > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.cache.JarRevision.(JarRevision.java:76) > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:799) > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:480) > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.cache.BundleArchive.(BundleArchive.java:148) > > at org.apache.felix.framework@6.0.2 > > > /org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:462) > > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.Felix.installBundle(Felix.java:3227) > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:147) > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:120) > > at > > JFXFelix/com.yakridge.jfxfelix.JFXMain.someNewMethod(JFXMain.java:65) > > at JFXFelix/com.yakridge.jfxfelix.JFXMain.main(JFXMain.java:30) > > Caused by: java.lang.RuntimeException: Unable to make protected boolean > > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: > > module java.base does not "opens java.net" to module > > org.apache.felix.framework > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:104) > > ... 15 more > > Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make > > protected boolean > > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: > > module java.base does not "opens java.net" to module > > org.apache.felix.framework > > at > > > > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340) > > at > > > > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280) > > at > > java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) > > at > > java.base/java.lang.reflect.Method.setAccessible(Method.java:192) > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.util.SecureAction.setAccesssible(SecureAction.java:871) > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:79) > > ... 15 more > > > > > > On Mon, Feb 18, 2019 at 9:39 AM Karl Pauls wrote: > > > > > right, as I said, you need to put the felix jar on the classpath - then > > it > > > should work. > > > > > > regards, > > > > > > Karl > > > > > > On Monday, February 18, 2019, Chuck Davis wrote: > > > > > > > I start my main class with the following bash script: > > > > > > > > java --module-path > > > > /sata2/modules:/sata2/modules/felix:/sata2/Downloads/javafx/ > > > > javafx-sdk-11.0.1/lib > > > > --add-modules=ALL-MODULE-PATH
Re: Felix on jdk11
It looks like you are still running with Felix on the modulepath rather than the classpath. This is the giveaway from the output you showed: 'module java.base does not "opens java.net" to module org.apache.felix.framework at org.apache.felix.framework@6.0.2' In other words, Java thinks that Felix is a module. Put Felix on the classpath and it should work. Regards, Neil On Mon, Feb 18, 2019 at 6:23 PM Chuck Davis wrote: > Didn't make any difference. Still getting the following exception with > felix.jar on the classpath: > > chuck@linux-hk84:~> ./startJFXFelix > The framework class is: org.apache.felix.framework.Felix ><-- my class output > loaded bundle: org.apache.felix.framework which is bundle number: 0 ><-- my class output > Exception in thread "main" java.lang.ExceptionInInitializerError > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:513) > at java.base/java.net.URL.getURLStreamHandler(URL.java:1415) > at java.base/java.net.URL.(URL.java:633) > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.util.SecureAction.createURL(SecureAction.java:256) > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:148) > at org.apache.felix.framework@6.0.2 > /org.apache.felix.framework.cache.JarRevision.(JarRevision.java:76) > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:799) > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:480) > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.cache.BundleArchive.(BundleArchive.java:148) > at org.apache.felix.framework@6.0.2 > /org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:462) > at org.apache.felix.framework@6.0.2 > /org.apache.felix.framework.Felix.installBundle(Felix.java:3227) > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:147) > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:120) > at > JFXFelix/com.yakridge.jfxfelix.JFXMain.someNewMethod(JFXMain.java:65) > at JFXFelix/com.yakridge.jfxfelix.JFXMain.main(JFXMain.java:30) > Caused by: java.lang.RuntimeException: Unable to make protected boolean > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: > module java.base does not "opens java.net" to module > org.apache.felix.framework > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:104) > ... 15 more > Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make > protected boolean > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: > module java.base does not "opens java.net" to module > org.apache.felix.framework > at > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340) > at > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280) > at > java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) > at > java.base/java.lang.reflect.Method.setAccessible(Method.java:192) > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.util.SecureAction.setAccesssible(SecureAction.java:871) > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:79) > ... 15 more > > > On Mon, Feb 18, 2019 at 9:39 AM Karl Pauls wrote: > > > right, as I said, you need to put the felix jar on the classpath - then > it > > should work. > > > > regards, > > > > Karl > > > > On Monday, February 18, 2019, Chuck Davis wrote: > > > > > I start my main class with the following bash script: > > > > > > java --module-path > > > /sata2/modules:/sata2/modules/felix:/sata2/Downloads/javafx/ > > > javafx-sdk-11.0.1/lib > > > --add-modules=ALL-MODULE-PATH com.yakridge.jfxfelix.JFXMain > > > If I comment out all the Felix stuff the program runs fine. My main > > class > > > is on the classpath. The felix bundles are in /sata2/modules > directory. > > > > > > > > > On Mon, Feb 18, 2019 at 8:00 AM Karl Pauls > wrote: > > > > > > > How do you start this main class (and/or, are you embedding felix in > a > > > > module)? > > > > > > > > You need to be on the classpath and not on the module path to work. > > > > > > > > regards, > > > > > > > > Karl > > > > > > > > > > > > > > > > > -- > > Karl Pauls > > karlpa...@gmail.com > > >
Re: Felix on jdk11
Didn't make any difference. Still getting the following exception with felix.jar on the classpath: chuck@linux-hk84:~> ./startJFXFelix The framework class is: org.apache.felix.framework.Felix <-- my class output loaded bundle: org.apache.felix.framework which is bundle number: 0 <-- my class output Exception in thread "main" java.lang.ExceptionInInitializerError at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:513) at java.base/java.net.URL.getURLStreamHandler(URL.java:1415) at java.base/java.net.URL.(URL.java:633) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.util.SecureAction.createURL(SecureAction.java:256) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:148) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.cache.JarRevision.(JarRevision.java:76) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:799) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:480) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.cache.BundleArchive.(BundleArchive.java:148) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:462) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.Felix.installBundle(Felix.java:3227) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:147) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:120) at JFXFelix/com.yakridge.jfxfelix.JFXMain.someNewMethod(JFXMain.java:65) at JFXFelix/com.yakridge.jfxfelix.JFXMain.main(JFXMain.java:30) Caused by: java.lang.RuntimeException: Unable to make protected boolean java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: module java.base does not "opens java.net" to module org.apache.felix.framework at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:104) ... 15 more Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected boolean java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: module java.base does not "opens java.net" to module org.apache.felix.framework at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280) at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) at java.base/java.lang.reflect.Method.setAccessible(Method.java:192) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.util.SecureAction.setAccesssible(SecureAction.java:871) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:79) ... 15 more On Mon, Feb 18, 2019 at 9:39 AM Karl Pauls wrote: > right, as I said, you need to put the felix jar on the classpath - then it > should work. > > regards, > > Karl > > On Monday, February 18, 2019, Chuck Davis wrote: > > > I start my main class with the following bash script: > > > > java --module-path > > /sata2/modules:/sata2/modules/felix:/sata2/Downloads/javafx/ > > javafx-sdk-11.0.1/lib > > --add-modules=ALL-MODULE-PATH com.yakridge.jfxfelix.JFXMain > > If I comment out all the Felix stuff the program runs fine. My main > class > > is on the classpath. The felix bundles are in /sata2/modules directory. > > > > > > On Mon, Feb 18, 2019 at 8:00 AM Karl Pauls wrote: > > > > > How do you start this main class (and/or, are you embedding felix in a > > > module)? > > > > > > You need to be on the classpath and not on the module path to work. > > > > > > regards, > > > > > > Karl > > > > > > > > > > > -- > Karl Pauls > karlpa...@gmail.com >
Re: Felix on jdk11
right, as I said, you need to put the felix jar on the classpath - then it should work. regards, Karl On Monday, February 18, 2019, Chuck Davis wrote: > I start my main class with the following bash script: > > java --module-path > /sata2/modules:/sata2/modules/felix:/sata2/Downloads/javafx/ > javafx-sdk-11.0.1/lib > --add-modules=ALL-MODULE-PATH com.yakridge.jfxfelix.JFXMain > If I comment out all the Felix stuff the program runs fine. My main class > is on the classpath. The felix bundles are in /sata2/modules directory. > > > On Mon, Feb 18, 2019 at 8:00 AM Karl Pauls wrote: > > > How do you start this main class (and/or, are you embedding felix in a > > module)? > > > > You need to be on the classpath and not on the module path to work. > > > > regards, > > > > Karl > > > > > -- Karl Pauls karlpa...@gmail.com
Re: Felix on jdk11
I start my main class with the following bash script: java --module-path /sata2/modules:/sata2/modules/felix:/sata2/Downloads/javafx/javafx-sdk-11.0.1/lib --add-modules=ALL-MODULE-PATH com.yakridge.jfxfelix.JFXMain If I comment out all the Felix stuff the program runs fine. My main class is on the classpath. The felix bundles are in /sata2/modules directory. On Mon, Feb 18, 2019 at 8:00 AM Karl Pauls wrote: > How do you start this main class (and/or, are you embedding felix in a > module)? > > You need to be on the classpath and not on the module path to work. > > regards, > > Karl > >
Re: Felix on jdk11
What particular APIs are you trying to use that we’re removed? The JAX-B, JAF, and JAX-WS stuff are the big ones we have had to manually include after upgrading to java 11. On Mon, Feb 18, 2019 at 10:49 AM Rob Walker wrote: > The issue we found was not so much Felix - that does indeed run fine on > Java 11. > > But depending on what packages you really on, some of those that were > system packages in Java 8 but have since move either to separate J9+ > modules, or in some cases dropped completely from J9+ and now need > additional bundles. You can't rely on the system classloader wiring for > those in Felix, you have to make sure the requisite bundles and modules are > present. > > -Rob > > -Original Message- > From: Neil Bartlett > Sent: 18 February 2019 17:25 > To: users > Subject: Re: Felix on jdk11 > > Wait a minute... if Chuck is having problems running Felix on Java 11 > because of dependencies on the platform, then how is adding MORE bundles by > using Karaf going to help? > > Since Felix has been tested on Java 11 and is expected to work, it would > be really good to try to help out with the original problem, as Karl is > trying to do. > > Neil > > On Mon, Feb 18, 2019 at 3:16 PM James Carman > wrote: > > > People run karaf on Raspberry Pi devices. It can be quite small. > > What are your requirements on resources? > > > > On Mon, Feb 18, 2019 at 10:10 AM Chuck Davis wrote: > > > > > Hi James: > > > > > > My understanding is that Karaf is quite heavy. I want to keep my > > > client > > as > > > light as possible. This is for a Java client application that I > > > want to update automatically on a periodic basis. > > > > > > On Mon, Feb 18, 2019 at 5:41 AM James Carman > > > > > > > > wrote: > > > > > > > Unless you really need to be “down and dirty” with OSGi, lots of > > > > folks > > > opt > > > > for using Apache Karaf, which is based on Felix (by default). It > > > > takes care of a lot of the heavy lifting for you automatically. > > > > If you > > really > > > > want to learn the insides and outs, though, stick with Felix, but > > you’ll > > > > want something like karaf when you deploy for real, most likely. > > > > > > > > On Mon, Feb 18, 2019 at 7:43 AM Chuck Davis > > wrote: > > > > > > > > > Thanks for responding, Rob. I'm very new to OSGi and that > > > > > sounds > > like > > > a > > > > > LOT of tinkering to me (overwhelming in fact at this point !!). > > > > > > > > > > But the more I study it the more it makes sense to me and the > > > exceptions > > > > > I'm seeing. > > > > > > > > > > Thanks for your response. > > > > > > > > > > On Sun, Feb 17, 2019 at 8:44 PM Rob Walker > wrote: > > > > > > > > > > > We have worked our Felix based app so that it runs on JDK11 - > > > > > > took > > a > > > > bit > > > > > > of tinkering, but there wasn't anything in core code we had to > > > change. > > > > > > > > > > > > > > > > > > > > > > > > We did need to load the following bundles separately to > > > > > > replace > > > missing > > > > > > classes: > > > > > > > > > > > > > > > > > > > > > > > > jre-1.8_extra_bundles= > > > > > > > > > > > > jre-9_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > jre-10_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > jre-11_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
Re: Felix on jdk11
How do you start this main class (and/or, are you embedding felix in a module)? You need to be on the classpath and not on the module path to work. regards, Karl On Mon, Feb 18, 2019 at 4:58 PM Chuck Davis wrote: > > I'm running openSUSE tumbleweed with OpenJDK11.0.2. > > My main class loads the framework with this code: (which worked on jdk8) > > ServiceLoader factoryLoader = > ServiceLoader.load(FrameworkFactory.class); > Iterator it = factoryLoader.iterator(); > frameworkFactory = it.next(); > framework = frameworkFactory.newFramework(null); > > > if (framework == null) { > System.out.println("The framework is null"); > } else { > System.out.println("The framework class is: " + > framework.getClass().getName()); > } > > > > try { > framework.start(); > context = framework.getBundleContext(); > } catch (BundleException ex) { > //Logger.getLogger(JFXMain.class.getName()).log(Level.SEVERE, > null, ex); > } > > On Mon, Feb 18, 2019 at 7:12 AM Karl Pauls wrote: > > > Hm, that would be new - are you sure that happens on java11 and how > > did you start-up the framework? > > > > regards, > > > > Karl > > > > On Mon, Feb 18, 2019 at 4:08 PM Chuck Davis wrote: > > > > > > Hi Karl: > > > > > > This seems to be the root cause of the other exceptions I'm dealing with. > > > Obviously, there is no longer a java.net to open. I don't know if the > > > highlighting will transmit but the problems is: "Caused by:.. > > > > > > Caused by: java.lang.RuntimeException: Unable to make protected boolean > > > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: > > > module java.base does not "opens java.net" to module > > > org.apache.felix.framework > > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:104) > > > ... 15 more > > > Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make > > > protected boolean > > > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: > > > module java.base does not "opens java.net" to module > > > org.apache.felix.framework > > > at > > > > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340) > > > at > > > > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280) > > > at > > > java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) > > > at > > java.base/java.lang.reflect.Method.setAccessible(Method.java:192) > > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.util.SecureAction.setAccesssible(SecureAction.java:871) > > > at org.apache.felix.framework@6.0.2 > > > > > /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:79) > > > ... 15 more > > > > > > > > > On Mon, Feb 18, 2019 at 4:53 AM Karl Pauls wrote: > > > > > > > The framework itself should work ootb on java11 just fine. Likewise, I > > > > think the default distribution should work on java11 too (i.e., the > > > > shell). > > > > > > > > Not sure about other bundles - feel free to follow-up with your set-up > > > > and the exceptions you see. > > > > > > > > regards, > > > > > > > > Karl > > > > > > > > On Mon, Feb 18, 2019 at 1:43 PM Chuck Davis > > wrote: > > > > > > > > > > Thanks for responding, Rob. I'm very new to OSGi and that sounds > > like a > > > > > LOT of tinkering to me (overwhelming in fact at this point !!). > > > > > > > > > > But the more I study it the more it makes sense to me and the > > exceptions > > > > > I'm seeing. > > > > > > > > > > Thanks for your response. > > > > > > > > > > On Sun, Feb 17, 2019 at 8:44 PM Rob Walker wrote: > > > > > > > > > > > We have worked our Felix based app so that it runs on JDK11 - took > > a > > > > bit > > > > > > of tinkering, but there wasn't anything in core code we had to > > change. > > > > > > > > > > > > > > > > > > > > > > > > We did need to load the following bundles separately to replace > > missing > > > > > > classes: > > > > > > > > > > > > > > > > > > > > > > > > jre-1.8_extra_bundles= > > > > > > > > > > > > jre-9_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > jre-10_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > jre-11_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Karl Pauls > > > > karlpa...@gmail.com > > > > > > > > - > > > > To unsubscribe, e-mail: users-unsubscr...@felix.apache.org > > > > For additional commands, e-mail: users-h...@felix.apache.org > > > > > > > > > > > > > > > > -- > > Karl Pauls > > karlpa...@gmail.com > > > >
Re: Felix on jdk11
I'm running openSUSE tumbleweed with OpenJDK11.0.2. My main class loads the framework with this code: (which worked on jdk8) ServiceLoader factoryLoader = ServiceLoader.load(FrameworkFactory.class); Iterator it = factoryLoader.iterator(); frameworkFactory = it.next(); framework = frameworkFactory.newFramework(null); if (framework == null) { System.out.println("The framework is null"); } else { System.out.println("The framework class is: " + framework.getClass().getName()); } try { framework.start(); context = framework.getBundleContext(); } catch (BundleException ex) { //Logger.getLogger(JFXMain.class.getName()).log(Level.SEVERE, null, ex); } On Mon, Feb 18, 2019 at 7:12 AM Karl Pauls wrote: > Hm, that would be new - are you sure that happens on java11 and how > did you start-up the framework? > > regards, > > Karl > > On Mon, Feb 18, 2019 at 4:08 PM Chuck Davis wrote: > > > > Hi Karl: > > > > This seems to be the root cause of the other exceptions I'm dealing with. > > Obviously, there is no longer a java.net to open. I don't know if the > > highlighting will transmit but the problems is: "Caused by:.. > > > > Caused by: java.lang.RuntimeException: Unable to make protected boolean > > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: > > module java.base does not "opens java.net" to module > > org.apache.felix.framework > > at org.apache.felix.framework@6.0.2 > > > /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:104) > > ... 15 more > > Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make > > protected boolean > > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: > > module java.base does not "opens java.net" to module > > org.apache.felix.framework > > at > > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340) > > at > > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280) > > at > > java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) > > at > java.base/java.lang.reflect.Method.setAccessible(Method.java:192) > > at org.apache.felix.framework@6.0.2 > > > /org.apache.felix.framework.util.SecureAction.setAccesssible(SecureAction.java:871) > > at org.apache.felix.framework@6.0.2 > > > /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:79) > > ... 15 more > > > > > > On Mon, Feb 18, 2019 at 4:53 AM Karl Pauls wrote: > > > > > The framework itself should work ootb on java11 just fine. Likewise, I > > > think the default distribution should work on java11 too (i.e., the > > > shell). > > > > > > Not sure about other bundles - feel free to follow-up with your set-up > > > and the exceptions you see. > > > > > > regards, > > > > > > Karl > > > > > > On Mon, Feb 18, 2019 at 1:43 PM Chuck Davis > wrote: > > > > > > > > Thanks for responding, Rob. I'm very new to OSGi and that sounds > like a > > > > LOT of tinkering to me (overwhelming in fact at this point !!). > > > > > > > > But the more I study it the more it makes sense to me and the > exceptions > > > > I'm seeing. > > > > > > > > Thanks for your response. > > > > > > > > On Sun, Feb 17, 2019 at 8:44 PM Rob Walker wrote: > > > > > > > > > We have worked our Felix based app so that it runs on JDK11 - took > a > > > bit > > > > > of tinkering, but there wasn't anything in core code we had to > change. > > > > > > > > > > > > > > > > > > > > We did need to load the following bundles separately to replace > missing > > > > > classes: > > > > > > > > > > > > > > > > > > > > jre-1.8_extra_bundles= > > > > > > > > > > jre-9_extra_bundles=${j9_replacement_packages} > > > > > > > > > > jre-10_extra_bundles=${j9_replacement_packages} > > > > > > > > > > jre-11_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Karl Pauls > > > karlpa...@gmail.com > > > > > > - > > > To unsubscribe, e-mail: users-unsubscr...@felix.apache.org > > > For additional commands, e-mail: users-h...@felix.apache.org > > > > > > > > > > -- > Karl Pauls > karlpa...@gmail.com > > - > To unsubscribe, e-mail: users-unsubscr...@felix.apache.org > For additional commands, e-mail: users-h...@felix.apache.org > >
RE: Felix on jdk11
The issue we found was not so much Felix - that does indeed run fine on Java 11. But depending on what packages you really on, some of those that were system packages in Java 8 but have since move either to separate J9+ modules, or in some cases dropped completely from J9+ and now need additional bundles. You can't rely on the system classloader wiring for those in Felix, you have to make sure the requisite bundles and modules are present. -Rob -Original Message- From: Neil Bartlett Sent: 18 February 2019 17:25 To: users Subject: Re: Felix on jdk11 Wait a minute... if Chuck is having problems running Felix on Java 11 because of dependencies on the platform, then how is adding MORE bundles by using Karaf going to help? Since Felix has been tested on Java 11 and is expected to work, it would be really good to try to help out with the original problem, as Karl is trying to do. Neil On Mon, Feb 18, 2019 at 3:16 PM James Carman wrote: > People run karaf on Raspberry Pi devices. It can be quite small. > What are your requirements on resources? > > On Mon, Feb 18, 2019 at 10:10 AM Chuck Davis wrote: > > > Hi James: > > > > My understanding is that Karaf is quite heavy. I want to keep my > > client > as > > light as possible. This is for a Java client application that I > > want to update automatically on a periodic basis. > > > > On Mon, Feb 18, 2019 at 5:41 AM James Carman > > > > > wrote: > > > > > Unless you really need to be “down and dirty” with OSGi, lots of > > > folks > > opt > > > for using Apache Karaf, which is based on Felix (by default). It > > > takes care of a lot of the heavy lifting for you automatically. > > > If you > really > > > want to learn the insides and outs, though, stick with Felix, but > you’ll > > > want something like karaf when you deploy for real, most likely. > > > > > > On Mon, Feb 18, 2019 at 7:43 AM Chuck Davis > wrote: > > > > > > > Thanks for responding, Rob. I'm very new to OSGi and that > > > > sounds > like > > a > > > > LOT of tinkering to me (overwhelming in fact at this point !!). > > > > > > > > But the more I study it the more it makes sense to me and the > > exceptions > > > > I'm seeing. > > > > > > > > Thanks for your response. > > > > > > > > On Sun, Feb 17, 2019 at 8:44 PM Rob Walker wrote: > > > > > > > > > We have worked our Felix based app so that it runs on JDK11 - > > > > > took > a > > > bit > > > > > of tinkering, but there wasn't anything in core code we had to > > change. > > > > > > > > > > > > > > > > > > > > We did need to load the following bundles separately to > > > > > replace > > missing > > > > > classes: > > > > > > > > > > > > > > > > > > > > jre-1.8_extra_bundles= > > > > > > > > > > jre-9_extra_bundles=${j9_replacement_packages} > > > > > > > > > > jre-10_extra_bundles=${j9_replacement_packages} > > > > > > > > > > jre-11_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > > > > > > > > > > > > > >
Re: Felix on jdk11
Wait a minute... if Chuck is having problems running Felix on Java 11 because of dependencies on the platform, then how is adding MORE bundles by using Karaf going to help? Since Felix has been tested on Java 11 and is expected to work, it would be really good to try to help out with the original problem, as Karl is trying to do. Neil On Mon, Feb 18, 2019 at 3:16 PM James Carman wrote: > People run karaf on Raspberry Pi devices. It can be quite small. What are > your requirements on resources? > > On Mon, Feb 18, 2019 at 10:10 AM Chuck Davis wrote: > > > Hi James: > > > > My understanding is that Karaf is quite heavy. I want to keep my client > as > > light as possible. This is for a Java client application that I want to > > update automatically on a periodic basis. > > > > On Mon, Feb 18, 2019 at 5:41 AM James Carman > > > wrote: > > > > > Unless you really need to be “down and dirty” with OSGi, lots of folks > > opt > > > for using Apache Karaf, which is based on Felix (by default). It takes > > > care of a lot of the heavy lifting for you automatically. If you > really > > > want to learn the insides and outs, though, stick with Felix, but > you’ll > > > want something like karaf when you deploy for real, most likely. > > > > > > On Mon, Feb 18, 2019 at 7:43 AM Chuck Davis > wrote: > > > > > > > Thanks for responding, Rob. I'm very new to OSGi and that sounds > like > > a > > > > LOT of tinkering to me (overwhelming in fact at this point !!). > > > > > > > > But the more I study it the more it makes sense to me and the > > exceptions > > > > I'm seeing. > > > > > > > > Thanks for your response. > > > > > > > > On Sun, Feb 17, 2019 at 8:44 PM Rob Walker wrote: > > > > > > > > > We have worked our Felix based app so that it runs on JDK11 - took > a > > > bit > > > > > of tinkering, but there wasn't anything in core code we had to > > change. > > > > > > > > > > > > > > > > > > > > We did need to load the following bundles separately to replace > > missing > > > > > classes: > > > > > > > > > > > > > > > > > > > > jre-1.8_extra_bundles= > > > > > > > > > > jre-9_extra_bundles=${j9_replacement_packages} > > > > > > > > > > jre-10_extra_bundles=${j9_replacement_packages} > > > > > > > > > > jre-11_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > > > > > > > > > > > > > >
Re: Felix on jdk11
Are you maybe trying to add the framework as an automatic module? That wouldn't work, it needs to be on the classpath (i.e., in the unnamed module)... regards, Karl On Mon, Feb 18, 2019 at 4:11 PM Karl Pauls wrote: > > Hm, that would be new - are you sure that happens on java11 and how > did you start-up the framework? > > regards, > > Karl > > On Mon, Feb 18, 2019 at 4:08 PM Chuck Davis wrote: > > > > Hi Karl: > > > > This seems to be the root cause of the other exceptions I'm dealing with. > > Obviously, there is no longer a java.net to open. I don't know if the > > highlighting will transmit but the problems is: "Caused by:.. > > > > Caused by: java.lang.RuntimeException: Unable to make protected boolean > > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: > > module java.base does not "opens java.net" to module > > org.apache.felix.framework > > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:104) > > ... 15 more > > Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make > > protected boolean > > java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: > > module java.base does not "opens java.net" to module > > org.apache.felix.framework > > at > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340) > > at > > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280) > > at > > java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) > > at java.base/java.lang.reflect.Method.setAccessible(Method.java:192) > > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.util.SecureAction.setAccesssible(SecureAction.java:871) > > at org.apache.felix.framework@6.0.2 > > /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:79) > > ... 15 more > > > > > > On Mon, Feb 18, 2019 at 4:53 AM Karl Pauls wrote: > > > > > The framework itself should work ootb on java11 just fine. Likewise, I > > > think the default distribution should work on java11 too (i.e., the > > > shell). > > > > > > Not sure about other bundles - feel free to follow-up with your set-up > > > and the exceptions you see. > > > > > > regards, > > > > > > Karl > > > > > > On Mon, Feb 18, 2019 at 1:43 PM Chuck Davis wrote: > > > > > > > > Thanks for responding, Rob. I'm very new to OSGi and that sounds like a > > > > LOT of tinkering to me (overwhelming in fact at this point !!). > > > > > > > > But the more I study it the more it makes sense to me and the exceptions > > > > I'm seeing. > > > > > > > > Thanks for your response. > > > > > > > > On Sun, Feb 17, 2019 at 8:44 PM Rob Walker wrote: > > > > > > > > > We have worked our Felix based app so that it runs on JDK11 - took a > > > bit > > > > > of tinkering, but there wasn't anything in core code we had to change. > > > > > > > > > > > > > > > > > > > > We did need to load the following bundles separately to replace > > > > > missing > > > > > classes: > > > > > > > > > > > > > > > > > > > > jre-1.8_extra_bundles= > > > > > > > > > > jre-9_extra_bundles=${j9_replacement_packages} > > > > > > > > > > jre-10_extra_bundles=${j9_replacement_packages} > > > > > > > > > > jre-11_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Karl Pauls > > > karlpa...@gmail.com > > > > > > - > > > To unsubscribe, e-mail: users-unsubscr...@felix.apache.org > > > For additional commands, e-mail: users-h...@felix.apache.org > > > > > > > > > > -- > Karl Pauls > karlpa...@gmail.com -- Karl Pauls karlpa...@gmail.com - To unsubscribe, e-mail: users-unsubscr...@felix.apache.org For additional commands, e-mail: users-h...@felix.apache.org
Re: Felix on jdk11
People run karaf on Raspberry Pi devices. It can be quite small. What are your requirements on resources? On Mon, Feb 18, 2019 at 10:10 AM Chuck Davis wrote: > Hi James: > > My understanding is that Karaf is quite heavy. I want to keep my client as > light as possible. This is for a Java client application that I want to > update automatically on a periodic basis. > > On Mon, Feb 18, 2019 at 5:41 AM James Carman > wrote: > > > Unless you really need to be “down and dirty” with OSGi, lots of folks > opt > > for using Apache Karaf, which is based on Felix (by default). It takes > > care of a lot of the heavy lifting for you automatically. If you really > > want to learn the insides and outs, though, stick with Felix, but you’ll > > want something like karaf when you deploy for real, most likely. > > > > On Mon, Feb 18, 2019 at 7:43 AM Chuck Davis wrote: > > > > > Thanks for responding, Rob. I'm very new to OSGi and that sounds like > a > > > LOT of tinkering to me (overwhelming in fact at this point !!). > > > > > > But the more I study it the more it makes sense to me and the > exceptions > > > I'm seeing. > > > > > > Thanks for your response. > > > > > > On Sun, Feb 17, 2019 at 8:44 PM Rob Walker wrote: > > > > > > > We have worked our Felix based app so that it runs on JDK11 - took a > > bit > > > > of tinkering, but there wasn't anything in core code we had to > change. > > > > > > > > > > > > > > > > We did need to load the following bundles separately to replace > missing > > > > classes: > > > > > > > > > > > > > > > > jre-1.8_extra_bundles= > > > > > > > > jre-9_extra_bundles=${j9_replacement_packages} > > > > > > > > jre-10_extra_bundles=${j9_replacement_packages} > > > > > > > > jre-11_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > > > > > > >
Re: Felix on jdk11
Hi James: My understanding is that Karaf is quite heavy. I want to keep my client as light as possible. This is for a Java client application that I want to update automatically on a periodic basis. On Mon, Feb 18, 2019 at 5:41 AM James Carman wrote: > Unless you really need to be “down and dirty” with OSGi, lots of folks opt > for using Apache Karaf, which is based on Felix (by default). It takes > care of a lot of the heavy lifting for you automatically. If you really > want to learn the insides and outs, though, stick with Felix, but you’ll > want something like karaf when you deploy for real, most likely. > > On Mon, Feb 18, 2019 at 7:43 AM Chuck Davis wrote: > > > Thanks for responding, Rob. I'm very new to OSGi and that sounds like a > > LOT of tinkering to me (overwhelming in fact at this point !!). > > > > But the more I study it the more it makes sense to me and the exceptions > > I'm seeing. > > > > Thanks for your response. > > > > On Sun, Feb 17, 2019 at 8:44 PM Rob Walker wrote: > > > > > We have worked our Felix based app so that it runs on JDK11 - took a > bit > > > of tinkering, but there wasn't anything in core code we had to change. > > > > > > > > > > > > We did need to load the following bundles separately to replace missing > > > classes: > > > > > > > > > > > > jre-1.8_extra_bundles= > > > > > > jre-9_extra_bundles=${j9_replacement_packages} > > > > > > jre-10_extra_bundles=${j9_replacement_packages} > > > > > > jre-11_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > >
Re: Felix on jdk11
Hi Karl: This seems to be the root cause of the other exceptions I'm dealing with. Obviously, there is no longer a java.net to open. I don't know if the highlighting will transmit but the problems is: "Caused by:.. Caused by: java.lang.RuntimeException: Unable to make protected boolean java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: module java.base does not "opens java.net" to module org.apache.felix.framework at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:104) ... 15 more Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected boolean java.net.URLStreamHandler.equals(java.net.URL,java.net.URL) accessible: module java.base does not "opens java.net" to module org.apache.felix.framework at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280) at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) at java.base/java.lang.reflect.Method.setAccessible(Method.java:192) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.util.SecureAction.setAccesssible(SecureAction.java:871) at org.apache.felix.framework@6.0.2 /org.apache.felix.framework.URLHandlersStreamHandlerProxy.(URLHandlersStreamHandlerProxy.java:79) ... 15 more On Mon, Feb 18, 2019 at 4:53 AM Karl Pauls wrote: > The framework itself should work ootb on java11 just fine. Likewise, I > think the default distribution should work on java11 too (i.e., the > shell). > > Not sure about other bundles - feel free to follow-up with your set-up > and the exceptions you see. > > regards, > > Karl > > On Mon, Feb 18, 2019 at 1:43 PM Chuck Davis wrote: > > > > Thanks for responding, Rob. I'm very new to OSGi and that sounds like a > > LOT of tinkering to me (overwhelming in fact at this point !!). > > > > But the more I study it the more it makes sense to me and the exceptions > > I'm seeing. > > > > Thanks for your response. > > > > On Sun, Feb 17, 2019 at 8:44 PM Rob Walker wrote: > > > > > We have worked our Felix based app so that it runs on JDK11 - took a > bit > > > of tinkering, but there wasn't anything in core code we had to change. > > > > > > > > > > > > We did need to load the following bundles separately to replace missing > > > classes: > > > > > > > > > > > > jre-1.8_extra_bundles= > > > > > > jre-9_extra_bundles=${j9_replacement_packages} > > > > > > jre-10_extra_bundles=${j9_replacement_packages} > > > > > > jre-11_extra_bundles=${j9_replacement_packages} > > > > > > > > > > > > > -- > Karl Pauls > karlpa...@gmail.com > > - > To unsubscribe, e-mail: users-unsubscr...@felix.apache.org > For additional commands, e-mail: users-h...@felix.apache.org > >
Re: Felix on jdk11
Unless you really need to be “down and dirty” with OSGi, lots of folks opt for using Apache Karaf, which is based on Felix (by default). It takes care of a lot of the heavy lifting for you automatically. If you really want to learn the insides and outs, though, stick with Felix, but you’ll want something like karaf when you deploy for real, most likely. On Mon, Feb 18, 2019 at 7:43 AM Chuck Davis wrote: > Thanks for responding, Rob. I'm very new to OSGi and that sounds like a > LOT of tinkering to me (overwhelming in fact at this point !!). > > But the more I study it the more it makes sense to me and the exceptions > I'm seeing. > > Thanks for your response. > > On Sun, Feb 17, 2019 at 8:44 PM Rob Walker wrote: > > > We have worked our Felix based app so that it runs on JDK11 - took a bit > > of tinkering, but there wasn't anything in core code we had to change. > > > > > > > > We did need to load the following bundles separately to replace missing > > classes: > > > > > > > > jre-1.8_extra_bundles= > > > > jre-9_extra_bundles=${j9_replacement_packages} > > > > jre-10_extra_bundles=${j9_replacement_packages} > > > > jre-11_extra_bundles=${j9_replacement_packages} > > > > > > >
Re: Felix on jdk11
The framework itself should work ootb on java11 just fine. Likewise, I think the default distribution should work on java11 too (i.e., the shell). Not sure about other bundles - feel free to follow-up with your set-up and the exceptions you see. regards, Karl On Mon, Feb 18, 2019 at 1:43 PM Chuck Davis wrote: > > Thanks for responding, Rob. I'm very new to OSGi and that sounds like a > LOT of tinkering to me (overwhelming in fact at this point !!). > > But the more I study it the more it makes sense to me and the exceptions > I'm seeing. > > Thanks for your response. > > On Sun, Feb 17, 2019 at 8:44 PM Rob Walker wrote: > > > We have worked our Felix based app so that it runs on JDK11 - took a bit > > of tinkering, but there wasn't anything in core code we had to change. > > > > > > > > We did need to load the following bundles separately to replace missing > > classes: > > > > > > > > jre-1.8_extra_bundles= > > > > jre-9_extra_bundles=${j9_replacement_packages} > > > > jre-10_extra_bundles=${j9_replacement_packages} > > > > jre-11_extra_bundles=${j9_replacement_packages} > > > > > > -- Karl Pauls karlpa...@gmail.com - To unsubscribe, e-mail: users-unsubscr...@felix.apache.org For additional commands, e-mail: users-h...@felix.apache.org
Re: Felix on jdk11
Thanks for responding, Rob. I'm very new to OSGi and that sounds like a LOT of tinkering to me (overwhelming in fact at this point !!). But the more I study it the more it makes sense to me and the exceptions I'm seeing. Thanks for your response. On Sun, Feb 17, 2019 at 8:44 PM Rob Walker wrote: > We have worked our Felix based app so that it runs on JDK11 - took a bit > of tinkering, but there wasn't anything in core code we had to change. > > > > We did need to load the following bundles separately to replace missing > classes: > > > > jre-1.8_extra_bundles= > > jre-9_extra_bundles=${j9_replacement_packages} > > jre-10_extra_bundles=${j9_replacement_packages} > > jre-11_extra_bundles=${j9_replacement_packages} > > >
RE: Felix on jdk11
We have worked our Felix based app so that it runs on JDK11 - took a bit of tinkering, but there wasn't anything in core code we had to change. We did need to load the following bundles separately to replace missing classes: jre-1.8_extra_bundles= jre-9_extra_bundles=${j9_replacement_packages} jre-10_extra_bundles=${j9_replacement_packages} jre-11_extra_bundles=${j9_replacement_packages} j9_replacement_packages = \ "${vtmp.bundle.root}/lib/ext/javax.activation.jar" \ "${vtmp.bundle.root}/lib/ext/jaxb-api.jar" \ "${vtmp.bundle.root}/lib/ext/javax.annotation-api.jar" You also need to remove the relevant references from the JRE classpath (javax.activation etc) for J9+ since these will now be resolved by the extra bundles. As can be seen, on jre1.8 there are no extra bundles needed. You also then need to be sure to load these bundles as part of your initialisation felix.auto.install.1=\ ... ${jre_extra_bundles} ... And finally, you need to make sure you have you java modules set right for program launch e.g. set J9_OPTIONS=--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED "%JAVA_HOME%\bin\java" % JVM_OPTS% %J9_OPTIONS% -D (we have conditional code which only sets J9_OPTIONS for J9+) -Rob -Original Message- From: Chuck Davis Sent: 17 February 2019 23:39 To: users@felix.apache.org Subject: Re: Felix on jdk11 Has there been any discussion among developers regarding referenced subject? I'm only subscribed to the users list. I tried to run 6.0.2 on Linux (which has only jdk11 installed) and it's asking for classes no longer existing in jdk11. Thanks if anybody knows the time-frame for when Felix is targeted to run on jdk11.
Re: Felix on jdk11
Has there been any discussion among developers regarding referenced subject? I'm only subscribed to the users list. I tried to run 6.0.2 on Linux (which has only jdk11 installed) and it's asking for classes no longer existing in jdk11. Thanks if anybody knows the time-frame for when Felix is targeted to run on jdk11.