How to download jars from Z2

In most everyday operations you do not need to think about binary build results when using the Z2 environment. In some cases however you need to have compiled binaries at hand. Most notably this is the case when you want to implement test automation for unit tests and z2Unit (see also how to z2unit).

Using the com.zfabrik.dev.util/jarRetriever tool you can request binaries of a set of Java components including dependencies. This tool is an example of a Main program running using an embedded Z2 environment (see also MainRunner and Embedded runtime and the Main Runner). That is, in order to run it you do not need a Z2 server running. You do however need a Z2 home installation.

When run from the command line, say at a z2 home install, you would run something like this (replace placeholders):


java -Dcom.zfabrik.home=. -DcomponentName=com.zfabrik.dev.util/jarRetriever -jar run/bin/z_embedded.jar -out <out folder> <components>

One particular use case is to retrieve Jars from Z2 within an ANT script to run unit tests.

The following snippet is an example on how to retrieve all jars, including dependencies for some components from Z2:

<java classpath="${z2home}/run/bin/z_embedded.jar" classname="com.zfabrik.launch.MainRunner" fork="true">
    <!-- general config -->
    <sysproperty key="java.util.logging.config.file" value="logging.properties" />
    <sysproperty key="com.zfabrik.home" value="${z2home}" />
    <sysproperty key="com.zfabrik.mode" value="development" />
    <sysproperty key="componentName" value="com.zfabrik.dev.util/jarRetriever" />
    <!-- output folder -->
    <arg line="-out ${output}" />
    <!-- project to retrieve binaries from -->
    <arg line="${components}" />
</java>

In this example the following properties are expected:

${output} The folder to store the retrieved jar files
${components} A blank-separated list of components to retrieve the jars from
${z2home} The installation folder of the Z2 home that is being used to load the jar files from