Upgrade to JDK 9
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)
-
reporter -
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.
-
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.
-
reporter Done as of 5149dc4. (https://bitbucket.org/scythebill/scythebill-birdlist/commits/branch/java9 work.)
-
reporter - changed status to resolved
- Log in to comment
oh, and also would mean eliminating support for 32-bit Windows, which is maybe a worse problem!