pki-bot / pki-issues-final

0 stars 0 forks source link

[RFE] Java 9 Support #2531

Open pki-bot opened 4 years ago

pki-bot commented 4 years ago

This issue was migrated from Pagure Issue #2982. Originally filed by tjaalton (@tjaalton) on 2018-04-05 07:48:43:


Debian/Ubuntu switched the default JDK to openjdk-9, as a stepping stone for 11 which is the next LTS version. This switch broke the build:

... netscape/security/x509/RevocationReasonAdapter.java:20: error: package javax.xml.bind.annotation.adapters is not visible import javax.xml.bind.annotation.adapters.XmlAdapter; ^ (package javax.xml.bind.annotation.adapters is declared in module java.xml.bind, which is not in the module graph)

running an old version built with JDK8 fails to start with this in catalina.out:

-Djava.endorsed.dirs=/usr/share/tomcat8/endorsed is not supported. Endorsed standards and standalone APIs in modular form will be supported via the concept of upgradeable modules. Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.

pki-bot commented 4 years ago

Comment from tjaalton (@tjaalton) at 2018-04-05 11:30:42

the second failure was actually due to old tomcat8.0, but looks like nuxwdog uses -Djava.endorsed.dirs, so that should be fixed

pki-bot commented 4 years ago

Comment from mharmsen (@mharmsen) at 2018-04-05 11:43:21

Metadata Update from @mharmsen:

pki-bot commented 4 years ago

Comment from edewata (@edewata) at 2018-04-05 20:10:02

Doesn't seem to be a trivial fix: https://blog.codefx.org/java/java-9-migration-guide/

pki-bot commented 4 years ago

Comment from tjaalton (@tjaalton) at 2018-04-09 10:21:39

there's also this warning with JDK8

com/netscape/security/util/IA5StringTest.java:8: warning: DerValue is internal proprietary API and may be removed in a future release import sun.security.util.DerValue;

which is now gone: error: module not found: sun.security

apparently the javax.xml.bind error can be worked around with:

--- dogtag-pki-10.5.5.orig/cmake/Modules/Java.cmake +++ dogtag-pki-10.5.5/cmake/Modules/Java.cmake @@ -80,6 +80,7 @@ function(javac target) COMMAND ${Java_JAVAC_EXECUTABLE} ${CMAKE_JAVA_COMPILE_FLAGS} -encoding UTF-8

but I'm not sure if that would create issues with runtime

pki-bot commented 4 years ago

Comment from edewata (@edewata) at 2018-04-09 11:18:06

Not sure about any runtime issue, but I think you can specify the --add-modules in the top-level CMakeLists.txt:

# Un-comment the following line to add 'javac' options (e. g. - "-g" debugging)
#set(CMAKE_JAVA_COMPILE_FLAGS "-g")

More docs on JDK9: http://openjdk.java.net/projects/jigsaw/talks/prepare-for-jdk9-j1-2016.pdf

pki-bot commented 4 years ago

Comment from tjaalton (@tjaalton) at 2018-04-09 17:12:54

but sun.security needs a replacement, it's not there anymore

so I'll just force jdk8 in the distro for the time being

pki-bot commented 4 years ago

Comment from edewata (@edewata) at 2018-05-23 12:54:20

The dependency on sun.security library will be fixed in ticket 3023.

pki-bot commented 4 years ago

Comment from edewata (@edewata) at 2018-06-26 12:49:03

https://java.com/en/download/release_notice.jsp

Public updates for Oracle Java SE 8 will remain available for individual, personal use through at least the end of 2020.

Public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial or production use without a commercial license.

pki-bot commented 4 years ago

Comment from edewata (@edewata) at 2018-07-16 16:05:52

This depends on JSS update: https://pagure.io/jss/issue/15