Opened 3 years ago

Last modified 7 months ago

#25443 needs_information enhancement

Prepare for java 9

Reported by: iwakeh Owned by: metrics-team
Priority: Low Milestone:
Component: Metrics Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


This serves as parent ticket for java 9 related topics.

Child Tickets

#25444defectclosedkarstenAdd Apache Commons Codec dependency for java 9

Change History (2)

comment:1 Changed 3 years ago by irl

It would be a good idea to check over things with jdeps to see if we're depending on sun.* in any places. Not just for the Java 9 transition but also to make sure that we can run with other Java implementations if we decide that's a useful thing to do in the future.

For metrics-bot the only issue I can see is with Netty, which is used for the IRC functionality. It looks though that it only uses sun.* packages when alternative implementations are not available.

jdeps path/to/jar | less

comment:2 Changed 7 months ago by karsten

Status: newneeds_information

I checked our other .jar files with jdeps:

$ for i in $(ls *.jar); do jdeps $i | grep sun; done | sort | uniq -c
   4    ch.qos.logback.classic.spi                         -> sun.reflect                                        JDK internal API (JDK removed internal API)
   2    org.postgresql.sspi                                -> com.sun.jna                                        not found
   2    org.postgresql.sspi                                -> com.sun.jna.platform.win32                         not found
   2    org.postgresql.sspi                                -> com.sun.jna.ptr                                    not found
   2    org.postgresql.sspi                                -> com.sun.jna.win32                                  not found

It looks like Logback and the PostgreSQL JDBC driver are using sun.* and com.sun* packages internally. But I don't know what to do about that. Updating from Logback 1.1.9 (stretch) to 1.2.3 (buster) didn't change this, and the PostgreSQL JDBC driver is the one found in buster. What can we do?

Note: See TracTickets for help on using tickets.