It specifies another configuration file in addition to
WEB-INF/zk.xml. This is useful if you have two or more environments, such as testing and production. Then, you could put the different configurations into separate files and load the required files based on the requirement.
The value can be one of the following:
- A servlet path: a path that ServletContext.getResourceAsStream() can accept, such as:
- a path under web context path
- a path under
- relative to the
/META-INF/resourcesdirectory of a JAR file inside the web application's /WEB-INF/lib directory
- A file path, such as
file:///C:/test/zk.xml, if you use Windows. Notice it must start with
file://(For more information about the URI of a file, please refer to File URI scheme.)
- A URL, such as
http://foo.com/config/zk.xml. Notice it must starts with
WEB-INF/zk.xml is always loaded, and it is loaded before the configuration file specified in this system property. Thus, you could put the configurations common to each environment in
WEB-INF/zk.xml, and put the difference to the extra configuration file.
For example, assume you put the configuration in a file called
/configs/zk-production.xml, then you could specify
-Dorg.zkoss.zk.config.path=file:/configs/zk-production.xml as one of the arguments when starting the Web server.
Another example is to provide an ID generator for the testing purpose. For more information, please refer to ZK Developer's Reference: Testing Tips.