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)
jaxws-api look same javax.xml.ws but when build with tycho it said about access restriction on package javax.xml.ws,..
(i guess jaxws-api is new and it follow jdk mudule)
javax.xml.ws is special package, it's marked for remove on next jdk release.
it can't resolve ever i use <arg>-warn:+discouraged,forbidden</arg>
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
a mavent project convert from plugin have flow default rule
1. maven project prefer setting JRE to Execution environment, so .classpath is updated
2. java class compliment to target/classes/, so build.propertie is updated
3. JDK compliance configuration setting per project (only this option), so .settings/org.eclipse.jdt.core.prefs is created
extra setting about warning done manual to resolved
https://bugs.eclipse.org/bugs/show_bug.cgi?id=367431
it happend on bundle use non-standard java package
org.adempiere.base/.settings/org.eclipse.jdt.core.prefs
org.adempiere.ui.swing/.settings/org.eclipse.jdt.core.prefs
on org.adempiere.server, old method add accessrules to classpathentry don't work for maven build.
so change to warning method make it consitent with other
org.adempiere.server/.settings/org.eclipse.jdt.core.prefs