To avoid the continuing compatibility issues with modern browsers, Java and Forms, we developed a stand alone launcher (under 12.2.1.0, using FSAL and launch4j) as a work around. The launcher allows users to select one of our available forms and then launch it separately (via a drop down menu and button press). This is done via the command cmd /c start javaw -jar <filename.exe> -url "<form url>" -t 10000. Under Java 8, this solution has been functioning great, with only the user needing the Java 8 JRE on their computer to run. Recently, a user upgraded their computer to Java 9 and the launcher no longer works. You can still click on the executable and open the launcher like normal, but the 2nd step of selecting a form and issuing the "cmd /c start javaw" does nothing. I tested under Java 9 and 10 and then ran the command separately and receive the following error:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by oracle.forms.saa.FormsStandAloneApp (file:/C:/Users/<user name>/Desktop/<executable name>) to method java.net.URLClassLoader.addURL(java.net.URL)
WARNING: Please consider reporting this to the maintainers of oracle.forms.saa.FormsStandAloneApp
After some research I attempted to include the option --add-opens as part of the command, which cleared the error but we're still left with:
Exception in thread "main" java.lang.IllegalArgumentException: object is not an instance of declaring class
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at oracle.forms.saa.FormsStandAloneApp.getArchivesFromServer(Unknown Source)
at oracle.forms.saa.FormsStandAloneApp.run(Unknown Source)
at oracle.forms.saa.FormsStandAloneApp.main(Unknown Source)
Is there something obvious we're missing to solve this? We temporarily had the user uninstall Java 9 and back to 8 but we want to make sure we're compatible to prevent any hicups.
Thanks,
Javier