Update your development environment zk7 branch

From iDempiere en
Jump to navigation Jump to search
  • These are summarised FAQs of issues written by Hiep LQ directed more to developers.
  • With the present Plan for release(s) we have just switched to zk7 branch.

You may read further at the comment section of IDEMPIERE-2245


Main point

1. To materialize zk7 we must update something:

2. Mix environment: before, you can use one workspace to development for all branch (development, release 2.0, release 2.1) just materialize one time and switch branch when you need.

At the moment, you can't do this with zk7 branch, you must repeat materialize with a clean workspace.

remain old workspace and again materialize to switch to zk7 branch is impossible. i didn't test for downgrade

Known Issues

1. error relate to zk library

  • reason: at a slow, not stable network, we maybe encounter error relate to download lib for zk library.
  • solution:
    • open files org.zkoss.zk.library/copyjars.xml and org.zkoss.zk.library/copysources.xml
    • manual download file following the links
      • instead of manual download you can try also to right-click on the xml file and run as an ant task
    • move the files to correct folder as at destination properties
    • re-materialize follow new method for faster


2. If you have a customized theme as Add_your_theme and it doesn't work after update to zk7

  • Reason: we changed from Tomcat to Jetty which caused a difference when loading fragment plug-in resources (see this bug).
  • Solution: edit MANIFEST.MF of the theme project and add:
Jetty-WarFragmentFolderPath: /

refer:jetty osgi

3. you use new eclipse to run buckminster action and encounter error. now it in core, not need do it.

  • reason: new buckminster need some configuration value to correct run. (but buckminster headless not need. because version is a bit difference)
  • solution:
    • open adempiere.cquery
    • add line
<cq:property key="osgi.configuration.area.default" value="configuration"/>
<cq:property key="osgi.user.area" value="${user.home}"/>
<cq:property key="osgi.user.area.default" value="${user.home}"/>

4. run idempiere server and see many error at console (has error "Too many open files", just check in ubuntu)

  • reason: by feature of jetty
  • solution:
add below line to file /etc/security/limits.conf
*         hard    nofile      500000
*         soft    nofile      500000
root      hard    nofile      500000
root      soft    nofile      500000

5. just use localhost or 127.0.0.1 to access webui

  • reason: before "application server" parameter when run setup server is use for swing client

but at the moment it use to set for <Set name="host"><Property name="jetty.host" default="localhost" />

what address you set when run setup will use to access webui.

  • solution: not need change. just remember rule. or set 0.0.0.0

6. where're you can change jetty config?

  • for all time build, you will change template config. it's at "[idempiere-home]/org.adempiere.server-feature/jettyhome/etc"
  • for on time, you can change at "[idempiere-home]/jettyhome/etc", content of file at this folder is reset each time you run setup server
  • for free change, read document of jetty jetty configuration

8. java.lang.NoClassDefFoundError: org/springframework/core/io/Resource.

  • when open a jasper report encounter error: java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
  • reason: has plug-in user SpringExtensionsRegistryFactory, in my case it's font project.
  • solution: change to SimpleFontExtensionsRegistryFactory

9. install gzip

  • how to resolve warning: SEVERE: AtmosphereFramework exception
java.lang.IllegalStateException: !asyncSupported
	at org.eclipse.jetty.server.Request.startAsync(Request.java:2074)

http://stackoverflow.com/questions/20643970/asyncsupported-exception-when-switch-from-jetty-1-7-to-1-9


10. sometime i encounter below exception (windown, linux mint, run by eclipse or even run by build)

15:43:22.916-----------> ServletHandler.doHandle: /webui/zkau/web/764d6acc/js/zul.lang.wpd [41]
java.lang.IllegalStateException: zip file closed
	at java.util.zip.ZipFile.ensureOpen(Unknown Source)
	at java.util.zip.ZipFile.access$200(Unknown Source)
	at java.util.zip.ZipFile$ZipEntryIterator.hasNext(Unknown Source)
	at java.util.zip.ZipFile$ZipEntryIterator.hasMoreElements(Unknown Source)
	at java.util.jar.JarFile$JarEntryIterator.hasNext(Unknown Source)
	at java.util.jar.JarFile$JarEntryIterator.hasMoreElements(Unknown Source)
	at org.eclipse.jetty.util.resource.JarFileResource.exists(JarFileResource.java:191)
	at org.eclipse.jetty.webapp.WebAppContext$Context.getResource(WebAppContext.java:1460)
	at org.zkoss.web.util.resource.ServletContextLocator.getResource0(ServletContextLocator.java:154)

I see a discus at http://stackoverflow.com/questions/19123887/jetty-java-lang-illegalstateexception-zip-file-closed

not yet test it.

get more info with materialize

  • anytime you has issue with materialize process. read log to find reason. and try resolve by your self and update it at there

when default log is dummy info, try increase level of log by change setting:

in eclipse open: window/preferences
+ buckminster/console log level => debug 
+ eclipse log level  => debug 
+ ant log level => debug

after run materialize, read log at [idempiere-home]/.metadata/.bak_[n].log, [idempiere-home]/.metadata/.log

delete folder [idempiere-home]/.metadata, [idempiere-home]/targetPlatform, [idempiere-home]/RemoteSystemsTempFiles each time you re-run materialize after un-success


other experience with materialize

https://www.facebook.com/notes/hiep-lq/basedir-path-does-not-exist-when-call-buckminster-action-after-rename-plug-in/1701265936765883