Java 18

  • Platform information:
    • Hardware: i7
    • OS: 10
    • Java Runtime Environment: 18
    • openHAB version:
  • Issue of the topic: JAVA 18

I’ve seen similar posts but haven’t got past. Current JAVA download is 18. I set JAVA_HOME and I get the really long shpeal about unable to resolve root.

Does KARAF EXPLICITLY require JAVA 11? Or will it run JAVA 11 or newer?

Launching the openHAB runtime…
org.apache.felix.resolver.reason.ReasonException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=openhab-runtime-ui; type=karaf.feature; version=“[3.4.2,3.4.2]”; filter:=“(&(osgi.identity=openhab-runtime-ui)(type=karaf.feature)(version>=3.4.2)(version<=3.4.2))” [caused by: Unable to resolve openhab-runtime-ui/3.4.2: missing requirement [openhab-runtime-ui/3.4.2] osgi.identity; osgi.identity=openhab-core-ui-icon; type=karaf.feature [caused by: Unable to resolve openhab-core-ui-icon/3.4.2: missing requirement [openhab-core-ui-icon/3.4.2] osgi.identity; osgi.identity=openhab-core-base; type=karaf.feature [caused by: Unable to resolve openhab-core-base/3.4.2: missing requirement [openhab-core-base/3.4.2] osgi.identity; osgi.identity=org.openhab.core.automation; type=osgi.bundle; version=“[3.4.2,3.4.2]”; resolution:=mandatory [caused by: Unable to resolve org.openhab.core.automation/3.4.2: missing requirement [org.openhab.core.automation/3.4.2] osgi.wiring.package; filter:=“(&(osgi.wiring.package=org.openhab.core)(version>=3.4.0)(!(version>=4.0.0)))” [caused by: Unable to resolve org.openhab.core/3.4.2: missing requirement [org.openhab.core/3.4.2] osgi.ee; filter:=“(&(osgi.ee=JavaSE)(version=11))”]]]]]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:433)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:420)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:374)
at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257)
at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:399)
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069)
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve openhab-runtime-ui/3.4.2: missing requirement [openhab-runtime-ui/3.4.2] osgi.identity; osgi.identity=openhab-core-ui-icon; type=karaf.feature [caused by: Unable to resolve openhab-core-ui-icon/3.4.2: missing requirement [openhab-core-ui-icon/3.4.2] osgi.identity; osgi.identity=openhab-core-base; type=karaf.feature [caused by: Unable to resolve openhab-core-base/3.4.2: missing requirement [openhab-core-base/3.4.2] osgi.identity; osgi.identity=org.openhab.core.automation; type=osgi.bundle; version=“[3.4.2,3.4.2]”; resolution:=mandatory [caused by: Unable to resolve org.openhab.core.automation/3.4.2: missing requirement [org.openhab.core.automation/3.4.2] osgi.wiring.package; filter:=“(&(osgi.wiring.package=org.openhab.core)(version>=3.4.0)(!(version>=4.0.0)))” [caused by: Unable to resolve org.openhab.core/3.4.2: missing requirement [org.openhab.core/3.4.2] osgi.ee; filter:=“(&(osgi.ee=JavaSE)(version=11))”]]]]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
… 12 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve openhab-core-ui-icon/3.4.2: missing requirement [openhab-core-ui-icon/3.4.2] osgi.identity; osgi.identity=openhab-core-base; type=karaf.feature [caused by: Unable to resolve openhab-core-base/3.4.2: missing requirement [openhab-core-base/3.4.2] osgi.identity; osgi.identity=org.openhab.core.automation; type=osgi.bundle; version=“[3.4.2,3.4.2]”; resolution:=mandatory [caused by: Unable to resolve org.openhab.core.automation/3.4.2: missing requirement [org.openhab.core.automation/3.4.2] osgi.wiring.package; filter:=“(&(osgi.wiring.package=org.openhab.core)(version>=3.4.0)(!(version>=4.0.0)))” [caused by: Unable to resolve org.openhab.core/3.4.2: missing requirement [org.openhab.core/3.4.2] osgi.ee; filter:=“(&(osgi.ee=JavaSE)(version=11))”]]]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
… 13 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve openhab-core-base/3.4.2: missing requirement [openhab-core-base/3.4.2] osgi.identity; osgi.identity=org.openhab.core.automation; type=osgi.bundle; version=“[3.4.2,3.4.2]”; resolution:=mandatory [caused by: Unable to resolve org.openhab.core.automation/3.4.2: missing requirement [org.openhab.core.automation/3.4.2] osgi.wiring.package; filter:=“(&(osgi.wiring.package=org.openhab.core)(version>=3.4.0)(!(version>=4.0.0)))” [caused by: Unable to resolve org.openhab.core/3.4.2: missing requirement [org.openhab.core/3.4.2] osgi.ee; filter:=“(&(osgi.ee=JavaSE)(version=11))”]]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
… 14 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve org.openhab.core.automation/3.4.2: missing requirement [org.openhab.core.automation/3.4.2] osgi.wiring.package; filter:=“(&(osgi.wiring.package=org.openhab.core)(version>=3.4.0)(!(version>=4.0.0)))” [caused by: Unable to resolve org.openhab.core/3.4.2: missing requirement [org.openhab.core/3.4.2] osgi.ee; filter:=“(&(osgi.ee=JavaSE)(version=11))”]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
… 15 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve org.openhab.core/3.4.2: missing requirement [org.openhab.core/3.4.2] osgi.ee; filter:=“(&(osgi.ee=JavaSE)(version=11))”
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
… 16 more

Try OH 4 it has Karaf 4.4.3 which has:

https://issues.apache.org/jira/browse/KARAF-7266

Also note that OH 3.4.2 does not even fully support Java 17 so that’s why the docs prompt you to use Java 11 with it.

We’re just shifting to Java 17 with OH4, relax, wait a bit :grin:

openHAB normally refers to Java LTS versions, which actually is Java 17.
And like in the past, we don‘t recommend to use later versions until we inform that those have been tested.
So next recommended version would probably be Java 20 LTS.

That did it. Thanks.

1 Like