1. new version of cxf need new version of spring so get osgi version from org.apache.servicemix but spring of cxf limit to 4.0 so take 4.3.19.RELEASE_1
http://cxf.apache.org/docs/30-migration-guide.html
2. eclipse auto add --add-modules=ALL-SYSTEM when run eclipse launcher, so when run idempiere server from eclipse encounter bellow condition
javax.activity, javax.xml.ws is depricate package to remove on jdk11
that why this module is exclusive from build class path (but by --add-modules=ALL-SYSTEM it appear at runtime)
we use some replace jar for that package (com.sun.activation for javax.activation)
https://bugs.eclipse.org/bugs/show_bug.cgihttps://bugs.eclipse.org/bugs/show_bug.cgi?id=537016
1. use latest jdt for support jdk10
2. tycho resolve dependency to javax.activation, javax.xml.bind from jdk, but jdk don't public it.
eclipse resolve by get highest version from com.sun.activation.javax.activation, jaxb-api
so need use Require-Bundle to force tycho choose com.sun.activation.javax.activation
2.1 if keep both import javax.activation and Require-Bundle com.sun.activation.javax.activation with get bellow exception on tycho but org.adempiere.base don't have this issue
[ERROR] /home/hieplq/1Dev/project/native/idempiere-dev-11/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultFeedbackService.java:[16]
[ERROR] import javax.activation.DataSource;
[ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ERROR] Access restriction: The type 'DataSource' is not API (restriction on classpath entry '/home/hieplq/.m2/repository/p2/osgi/bundle/com.sun.activation.javax.activation/1.2.0/com.sun.activation.javax.activation-1.2.0.jar')
3. pass --add-exports for org.adempiere.base, install, server and swing
update jetty to 12
update almost library to latest version
change org.eclipse.jdt.core.compiler.batch to org.eclipse.jdt.core
change javax.management.j2ee-api to org.apache.geronimo.specs.geronimo-j2ee-management_1.1_spec, reduce dependency and correct dependency of activeMQ
javax.activation to com.sun.activation.javax.activation
lib for service will take from library instea of jdk
groovy to date
pending to correct dependency of org.compiere.db.oracle.provider org.compiere.db.postgresql.provider
to org.jfree.io
it better use common from apache or create new one