OpenNMS 24 and Java versions

java
#1

According to the OpenNMS 24 release notes, the hard dependency on Java versions has been removed

System Requirements

Java 8 through 11 : OpenNMS Horizon 24 requires at least Java 8 as the runtime environment and now supports running on JDK 11 as well. To run Horizon 24, we recommend the most recent version of Oracle JDK 8 for your platform, or the latest OpenJDK 11.

I was attempting to upgrade my sandpit OpenNMS from 23.0.4 to 24, and the upgrade wants to install Open JDK 11, even though OpenJDK 1.8 is currently installed.

# yum list installed | grep -i jdk
copy-jdk-configs.noarch            3.3-10.el7_5               @ol7_latest       
java-1.8.0-openjdk.x86_64          1:1.8.0.212.b04-0.el7_6    @ol7_x86_64_latest
java-1.8.0-openjdk-devel.x86_64    1:1.8.0.212.b04-0.el7_6    @ol7_x86_64_latest
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.212.b04-0.el7_6    @ol7_x86_64_latest

When updating openNMS:

Dependencies Resolved

===================================================================================================================================================================================================================
 Package                                                     Arch                                  Version                                                  Repository                                        Size
===================================================================================================================================================================================================================
Updating:
 opennms                                                     noarch                                24.0.0-1                                                 ol7_opennms                                      6.4 k
 opennms-core                                                noarch                                24.0.0-1                                                 ol7_opennms                                      478 M
 opennms-plugin-protocol-cifs                                noarch                                24.0.0-1                                                 ol7_opennms                                      238 k
 opennms-webapp-jetty                                        noarch                                24.0.0-1                                                 ol7_opennms                                       44 M
Installing for dependencies:
 java-11-openjdk                                             x86_64                                1:11.0.3.7-0.0.1.el7_6                                   ol7_x86_64_latest                                194 k
 java-11-openjdk-devel                                       x86_64                                1:11.0.3.7-0.0.1.el7_6                                   ol7_x86_64_latest                                3.3 M
 java-11-openjdk-headless                                    x86_64                                1:11.0.3.7-0.0.1.el7_6                                   ol7_x86_64_latest                                 38 M

Transaction Summary
===================================================================================================================================================================================================================
Install             ( 3 Dependent packages)
Upgrade  4 Packages

Total download size: 563 M

Is the release notes wrong? or am I misunderstanding the dependencies?

#2

The release notes say:

The dependencies for the OpenNMS packages have changed such that the JDK is no longer a hard dependency of the opennms-core (RPM) or libopennms-java and libopennmsdeps-java (Debian/Ubuntu). This allows you to install OpenNMS without package management forcing an install of a particular JDK, if you wish to run an alternate JDK or a JDK installed from tarball rather than packaging.

the opennms meta-package has a dependency on jdk11, however, you are not required to install that package. You can install opennms-core and friends independently without pulling in any particular jdk as a dependency.

make sense?

1 Like
#3

Thanks. That makes sense.

the next paragraph notes there is a jdk dependancy for the “opennms” package, but doesn’t specify any version. I wonder if it should note the version it is dependent on?

I don’t mind that it installed JDK11 as I’m intending to test using that anyway, I was just surprised when it did install.

Regards,
John