OK - thanks. /Bengt
Den tis 28 nov. 2023 kl 15:24 skrev Jean-Baptiste Onofré <j...@nanthrax.net>: > It's what I said: Karaf itself works fine with JDK17+, however, third > parties (like Aries Blueprint & Aries Proxy) are not yet compatible. > I'm preparing new Aries releases to support this (including ASM 9.6 > update, etc, for JDK17+). > > Regards > JB > > On Tue, Nov 28, 2023 at 2:59 PM Bengt Rodehav <be...@rodehav.com> wrote: > > > > I now compile for Java 17 (not 21 like I tried first). I use Karaf > 4.4.4. I > > get the following exception when running on OpenJDK 21: > > > > 2023-11-28T14:28:12,731 | ERROR | Blueprint Extender: 1 | > > BlueprintContainerImpl | 28 - org.apache.aries.blueprint.core - > > 1.10.3 | Unable to start container for blueprint bundle > > se.digia.bundles.jqueryui_1_8_16/7.0.0 > > org.osgi.service.blueprint.container.ComponentDefinitionException: > > java.lang.IllegalArgumentException: Invalid Java version 65 > > at > > > org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:141) > > ~[?:?] > > at > > > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) > > ~[?:?] > > at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?] > > at > > > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:810) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:784) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:765) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:699) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:666) > > ~[?:?] > > at > > > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) > > ~[?:?] > > at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?] > > at > > > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:360) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:338) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:162) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.BlueprintContainerImpl.processProcessors(BlueprintContainerImpl.java:572) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:417) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298) > > ~[?:?] > > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) > > ~[?:?] > > at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?] > > at > > > org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106) > > ~[?:?] > > at > > > org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:45) > > ~[?:?] > > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) > > ~[?:?] > > at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?] > > at > > > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) > > ~[?:?] > > at > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) > > ~[?:?] > > at > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) > > ~[?:?] > > at java.lang.Thread.run(Thread.java:1583) [?:?] > > Caused by: java.lang.IllegalArgumentException: Invalid Java version 65 > > at > > > org.apache.aries.proxy.impl.ProxyUtils.getWeavingJavaVersion(ProxyUtils.java:104) > > ~[?:?] > > at > > > org.apache.aries.proxy.impl.interfaces.InterfaceCombiningClassAdapter.<init>(InterfaceCombiningClassAdapter.java:79) > > ~[?:?] > > at > > > org.apache.aries.proxy.impl.interfaces.ProxyClassLoader.createProxyClass(ProxyClassLoader.java:155) > > ~[?:?] > > at > > > org.apache.aries.proxy.impl.interfaces.InterfaceProxyGenerator.getProxyInstance(InterfaceProxyGenerator.java:97) > > ~[?:?] > > at > > > org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:80) > > ~[?:?] > > at > > > org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingInterceptingProxy(AbstractProxyManager.java:77) > > ~[?:?] > > at > > > org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingProxy(AbstractProxyManager.java:42) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.createProxy(AbstractServiceReferenceRecipe.java:332) > > ~[?:?] > > at > > > org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:125) > > ~[?:?] > > ... 27 more > > > > But when I run on OpenJDK 17 it works fine. Is this due to the problem > you > > mentioned regarding Aries Blueprint/Proxy? It looks like ASM is being > used. > > However Karaf 4.4.4 uses ASM 9.5 which should support OpenJDK 21. > > > > I thought that generally a new Java version is backwards compatible. > > Meaning that a specific java runtime would handle classes compiled for an > > older java version. In this case, if I compile for java 17 I should be > able > > to run in on a java runtime >= 17. But this does not seem to be the > case... > > > > /Bengt > > > > Den mån 27 nov. 2023 kl 17:31 skrev Bengt Rodehav <be...@rodehav.com>: > > > > > Thanks for the quick reply, > > > > > > /Bengt > > > > > > Den mån 27 nov. 2023 kl 15:16 skrev Jean-Baptiste Onofré < > j...@nanthrax.net > > > >: > > > > > >> Hi > > >> > > >> Karaf almost but not third parties (Aries Blueprint/Proxy, etc). > > >> > > >> I'm starting Karaf 4.5.x with full JDK21 support. > > >> > > >> Thanks ! > > >> Regards > > >> JB > > >> > > >> On Mon, Nov 27, 2023 at 1:50 PM Bengt Rodehav <be...@rodehav.com> > wrote: > > >> > > > >> > Does Karaf 4.4.4 work with OpenJdk 21? > > >> > > > >> > /Bengt > > >> > > > >