from warning: No classloader found for java.util.ServiceLoader:load(interface org.eclipse.jetty.websocket.api.extensions.Extension)
reason:
spi-fly on idempiere use Dynamic Weaving to lookup service provide
it use Bundle.ACTIVE event to start lookup service provide (see org.apache.aries.spifly.BaseActivator and ProviderBundleTrackerCustomizer)
so service provide need to active before it's used
solution:
active and set start level to 3 for some bundle relate websocket to plan support websocket
remain some warning:
10:39:31.747-----------> BaseActivator.log: No classloader found for java.util.ServiceLoader:load(interface org.atmosphere.inject.Injectable)
don't fix because it still work well, in case active this bundle will encounter issue relase package "org.atmosphere.annotation" not yet export
https://github.com/Atmosphere/atmosphere/issues/1896
WARNING: No classloader found for java.util.ServiceLoader:load(interface org.eclipse.jetty.xml.ConfigurationProcessorFactory)
WARNING: No classloader found for java.util.ServiceLoader:load(interface org.eclipse.jetty.xml.ConfigurationProcessorFactory)
just find SpringConfigurationProcessorFactory and SpringConfigurationProcessorFactory implement that service, it look for spring so don't need resolve
refer:http://aries.apache.org/modules/spi-fly.html
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)
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
online and offline taget platform with parameter
wire org.apache.lucene.core to 3.5.0.v20120725-1805 (match with current org.apache.lucene.analysis)
target file become simple because don't neeed filter out bundle
maven have beta version of groovy-all, so fix version of groovy-all to help buckminster materialize
new version of org.apache.commons.configuration request org.apache.commons.lang3
correct source bundle of zk and https://github.com/jetty-project/jasper-jsp/issues/5
update launch
1. on buckminster_linux_gtk_x86.properties
add product.id=org.eclipse.equinox.p2.director so when uninstall in update process,
it will keep material (plugins) for org.eclipse.equinox.p2.director
2. add org.idempiere.equinox.p2.director.feature to separate material (.sh)
of org.adempiere.server.product and p2.director
3. change update-prd.sh to
update org.idempiere.fitnesse.feature also
4. update director/configuration/config.ini folow update equinox to 4.7.x
error when build 2nd on jenkin: CSpec org.apache.httpcomponents.httpclient.source:osgi.bundle$4.3.6.v201511171540 has no action, group, or local artifact named bundle.jar
orbit repository have 2 version of org.apache.httpcomponents.httpclient
1st do materialize, buckminster get correct verison org.apache.httpcomponents.httpclient and org.apache.httpcomponents.httpclient.source at version 4.3.6
2nd do materialize at without clear old one (like on jenkin) it will get new one version of source at 4.5.2
i guest issue by wrong process dependency on org.idempiere.eclipse.platform-feature
after 1st materialize, cspec of org.idempiere.eclipse.platform-feature have dependency to org.apache.httpcomponents.httpclient.source and it will get newest version.
don't know why it don't happen to org.apache.httpcomponents.httpclient
remove version in plug-in, use cquery to control
remove this plugin because just use in eclipse launch:org.apache.felix.webconsole.plugins.memoryusage
remove this plub-in because useless:org.apache.felix.webconsole.plugins.packageadmin