Upgrade to JDK 9

Issue #364 resolved
Adam Winer created an issue

Need to test thoroughly!

Couple things that cross my mind:

  • AutoSelectJFormattedTextField uses sun.awt classes
  • The FocusManager in ExpandableTable is... probably funky.

Should probably test open and save dialogs too.

This will mean eliminating support for 32-bit Linux, which will presumably make some users unhappy.

Comments (5)

  1. Adam Winer reporter

    oh, and also would mean eliminating support for 32-bit Windows, which is maybe a worse problem!

  2. Adam Winer reporter

    32-bit Windows doesn't seem a problem, nor 32-bit Linux.

    AutoSelectJFormattedTextField might work as of c1add2e, but that hasn't been tested. Haven't tested ExpandableTable.

    Biggest problem is that AppBundler is apparently broken in Java 9.

    https://bugs.openjdk.java.net/browse/JDK-8189730

    ... so getting MacOS onJava 9 implies finally migrating off AppBundler and onto JavaPackager.

    Might be possible to move Windows/Linux to Java 9 before MacOS, but that seems not worth the gain - too risky.

  3. Adam Winer reporter

    Trying to get JavaPackager working (not there yet!):

    javapackager -deploy -native image -appclass com.adamwiner.birdlist.app.mac.App -srcfiles mac-app-14.0.3-SNAPSHOT.jar -outdir ./target -outfile Scythebill -BappVersion=14.0.3 -name Scythebill -title Scythebill -nosign -v -Bicon=src/main/macresources/scythebill.icns -BjvmOptions=-Xdock:name=Scythebill -BjvmOptions=-Dapple.laf.useScreenMenuBar=true -BjvmOptions=-Dcom.apple.macos.useScreenMenuBar=true -BjvmOptions=-Dcom.apple.mrj.application.apple.menu.about.name=Scythebill -srcdir ./target/

    ... which fails with "Caused by: java.nio.file.FileAlreadyExistsException: ./target/Scythebill.app/Contents/PlugIns/Java.runtime/Contents/Home/conf/net.properties"

    Neato. But before failing, becomes pretty obvious that it's going to include every Java 9 module, which will bloat the target by a lot. Apparently, the fix for that is converting your code to build modules, and not just JARs. Whether that's one module per project or one module for the whole app, dunno yet.

    May end up going straight to Java 10 unless I can find a way to get past this javapackager error.

  4. Log in to comment