Projects:Java 9 Support/Specs
The goal of this project is to support Openbravo to be built and deployed using Java 9.
Note that Java 7 and 8 will continue being supported, so new features included in Java 9 will not be usable yet.
With Java 9's jigsaw, JDK itself has been modularized. Even Openbravo cannot be modularized because it is required to continue supporting older JDKs, it is necessary to add to build tasks those modules that are not standard anymore.
Core + retail requires to include
--add-modules=java.activation,java.xml.ws.annotation. Both modules can be included in a shortened way by adding all java ee modules at once:
Note that other Openbravo modules might require to add other JDK modules, in this case it would be necessary to configure Openbravo by adding those modules to
j9.module.args property in Openbravo.properties.
Init scripts for Tomcat 7 and 8.0 include endorsed dirs which is not supported in Java 9. Tomcat 8.5 and 9 does not include it so they can be directly used.
Jasper reports are compiled by included ecj jar, it is necessary to ensure it still works with JDK9. This will be automated by compiling all jrxml files in the instance.