===============
  Migration_0
Run it as-is, i.e., Java 8 classpath application on Java 11
===============

STEP 1  Move binary code to Java 11 runtime, execute the run script.
------
TODO: copy entire classes, dist, and lib directories from Migration to Migration_0.
TODO: also copy build and run scripts (.cmd and .sh) from Migration to Migration_0.

Note that the src directory was pre-copied for you - it's identical to that in Migration.
We are *not* going to rebuild the code, we're just going to get it running on Java 11.

We are *done* with the Migration directory, all work going forward is in Migration_0.

TODO: open a command prompt to the Migration_0 directory and run the application.
You can use the provided run script (run.cmd or run.sh), which contains the following command:

$ java -classpath dist\javatunes-db-test.jar;lib\* com.javatunes.db.test.JpaConnectionTest

Unix NOTE: Our examples use Windows-style paths.  If you're on *nix, then replace \ with / and ; with :
Unix NOTE: lib/* has to be in quotes for the classpath
Unix NOTE: Remember this for all commands at the terminal!  Only Windows version shown in rest of file.
$ java -classpath dist/javatunes-db-test.jar:"lib/*" com.javatunes.db.test.JpaConnectionTest


RESULT:
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
  
Of course: JAXB removed from the platform in Java 11.


STEP 2  Grab a JAXB implementation and add it to lib.
------
TODO: on the filesystem, locate the MigrationLib directory, and then the jaxb-2.3.2 directory under it.
TODO: copy all the JARs from jaxb-2.3.2 to Migration_0/lib.
TODO: run it.

$ java -classpath dist\javatunes-db-test.jar;lib\* com.javatunes.db.test.JpaConnectionTest

RESULT:
NullPointerException at javassist.util.proxy.SecurityActions.setAccessible  [bottom of stacktrace]

javassist is well-known for illegal-access warnings, as it digs into platform internals to do its magic.
We didn't get those here, but the NPE above is due to the same type of issue.
  
A search on "NullPointerException at javassist.util.proxy.SecurityActions.setAccessible" hit the target first shot:
https://github.com/jboss-javassist/javassist/issues/194
Fixed in 3.24.0-GA.


STEP 3  Update javassist from 3.22.0-GA to 3.24.0-GA.
------
TODO: on the filesytem, locate the MigrationLib/javassist-3.24.0 directory.
TODO: copy the newer javassist JAR to Migration_0/lib, then *delete* the old one.
TODO: run it.

RESULT:
IT WORKS!  Migration Level 0 complete!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can also rebuild it with JDK 11 and run that version.

TODO: run the build script (build.cmd or build.sh), then run the application again.  STILL WORKS!

END: close this file and proceed to Migration Level 1, in the Migration_1 directory.