The z2-Environment is an open source infrastructure to develop, configure, and run modular, standards-based Java applications without build infrastructure nor deployment procedures and so reduces development operations costs significantly.
During development and maintenance you do not need to have a local build environment installed that complements your source code.
The z2-Environment rebuilds Java sources as required and selectively from your development workspace leading to fast development roundtrips and consistent deployments, and ultimately to minimized integration pains.
The Z2 component model makes developing modular Java solutions easy, comprehensible, and manageable. Z2 shines when used to develop, run, and maintain complex front end and back end solutions.
An an application server environment, Z2 integrates perfectly with Spring, Hibernate/JPA, Vaadin, and much more.
Z2 is used in several large software systems, hosting highly modularized code bases of 600000 lines of code and rising.
This Wiki contains answers to all kinds of practical questions on using Z2.
NOTE: This site may issue so-called session cookies. These are not used to track user data and will be removed at the end of your browsing session.
Note: Version 2.7 is now available
The master branch is now v2.7 plus changes. Note the JDK pre-requisites below.
Main development is towards v2.8 in master
Looking for the repositories?¶
- Go to the sub-project's repositories for the most frequently updated Git repositories:
Note: The information provided in this Wiki is to the best of our knowledge and we cannot provide any warranty on accuracy or applicability to your specific use cases.
Z2 has the following Java Version requirements
|Z2 Version||Min. Java version required||Max Java version supported||Max language level|
|2.1 - 2.3.1||Java 6||Java 7||Java 7|
|2.4 - 2.5||Java 8||Java 8||Java 8|
|2.6||Java 9||Java 11||Java 10|
|2.7||Java 9||Java 11||Java 11|
|2.8||Java 9||Java 13||Java 13|
|2.9b||Java 8||Java 8||Java 8|
|2.9.1||Java 11||Java 16||Java 15|
|2.9.1b||Java 8||Java 8||Java 8|
|master||Java 11||?||Java 16|
Note: Most samples suggest to use the master branch. You may choose another version branch (please check the respective repository).
Make sure you have a corresponding Java Development Kit (JDK) or Java Runtime Environment (JRE) installed. If in doubt, go to Download Java SE.
Note: Running v2.1-v2.3.1 on Java 8 is supported by specifying
(or 6, if that is your desired compilation language level) in
<home>/run/bin/runtime.properties. By this the Java compiler version detection does not fall back to a lower level.
The latest release is Version 2.7.
All distribution archives are available from the Download page.
- 2.6 (Reference, Download)
- 2.5 (Reference)
- 2.4 (Reference)
- 2.3.1 (Reference)
- 2.2 (Reference)
- 2.1 (Reference)
If you want to get a real quick understanding of what Z2 is and how to give it a try start here:
- Step 1 - What is z2
- Step 2 - Install and run in 5 minutes
- Step 3 - First steps with Z2 on Git
- Z2 Java components intro
- Z2 Modules intro
If that is all too tedious for you - how about firing up some sample?
Also check out these:
- Book-style, in-depth documentation: v2.7 documentation
- The latest Javadoc
- The z2-Environment home page: Welcome
- Some references: Powered by
- The ZFabrik Software GmbH & Co. KG home page: Welcome
- A blog on Z2 and related topics: Henning's blog
And don't miss these:
- Public repositories on z2-environment.net: Repositories
This site is split into sub projects:
- z2-base: The base components of z2.
- z2-core: The z2 kernel included with z2 base with sources
- z2-addons: Add-ons that complement z2-base with additional features
- z2-samples: Home of the samples listed below.
And then there is...
There are various samples available that highlight specific use-cases and may serve as a solution template, when you just cannot get it to work or do not know where to start.
Howtos provide practical information on various aspects that you may run into when looking deeper.
- How tos
- How to Access a Maven Repository
- How to Build z2 Base
- How to create your own system
- How to Debug Z2
- How to Docker (TBC)
- How to download jars from Z2
- How to Gateway
- How to Hadoop
- How to install Eclipsoid
- How to JDBC drivers
- How to proxy settings
- How to Remote Manage
- How to run a sample
- How to Secure a Z2 Installation
- How to set the language level
- How to Spring
- How to Subversion
- How to Transaction Management
- How to Unit Test in Z2
- How to use the hub cr
- How to Vaadin
- How to z2Unit
- IntelliJ z2 plugin
The z2 base distribution is really just the most basic but still practically useful set of z2 modules. Addon repositories provide additional modules that add complete feature sets. Addons are versioned along with z2 base and may be included by simply adding component repositories.
When productising your solution, you will want to isolate yourself from intermediate changes outside of your control. See also How to create your own system for more information how Z2 accomplishes that with pure version control tool use.
Various notes on single concepts¶
Drafts and discussions on current work items.¶
- More efficient handling of API and Impl in Rebuilds
- Reduce Repo Traffic - Pre Deploy-Build and Offline Execution
- Revisiting includes for 2 3 - DONE
- SFTPSSH Component Repository
- Smart props - DONE
Blogs on Z2¶
Some selected blog entries from z the world :
- Updates In Modular Data
- Simply Fooled
- Microservices Once More
- Dependency Management for Modular Applications
- User-friendly production updates
- Extension patterns
- The principles behind z2unit
- Essay on modularization
- Scoping JPA
- Adventures in Groovy
- Minimally Invasive Repairs with Z2
- Z2 Deployment Potpourri
- A cloud deployment recipe
- Modular Vaadin over Spring and JPA
Support & Getting help¶
Before submitting a bug report, a patch or a feature request here, please read the Submission guidelines.
Need support? Having problems with this site? Contact us at contact (at) zfabrik.de
The z2-Environment by ZFabrik Software GmbH & Co. KG is available as open source software under the terms of the
Apache License, Version 2.0.
See here for more information on what that implies: http://www.apache.org/licenses/LICENSE-2.0.html
Other work contained or made available may be subject to other license restrictions. License information for the z2-base distribution (see z2-base) is available on the release version pages starting v2.6 (e.g. at V26-Licenses) and in the binary distribution of the z2 core that is contained in the z2-base distribution.
See also here: Third Party Licenses.
This site is hosted and maintained by ZFabrik Software GmbH & Co. KG.
Contact us at contact (at) zfabrik.de