Getting Started with org.z2env

See also FAQ

To understand how z2 works, you need to understand at most what are z2 modules and components and what are component repositories and how these concepts interplay.

Check out Understanding Z2 for that.

It is simplest to start by running a simple Java main program in z2 or a simple Web App.

Follow this trail:

Building z2env-core

(For now, we need to build the core. Once we release a version, there will be pre-packaged downloads).

Running a Hello World main program

In this section we will let z2 do what it is actually made for: Run some Java program in a modular environment without build and deploy.

Running a Hello World Web App

Rather than just running a Main program, using the Tomcat add-on we might as well run full-featured Web applications - of course: From anywhere, without build and deploy.

Developing with Eclipse or IntelliJ

In this section we will add some code to the hello Web app and see how to develop using an integrated development environment like the Eclipse IDE or Jetbrains' IntelliJ IDEA.

Going Multi-Module

In this section we will extend the previous work by a simple service module.

Going System-Centric

In this section we show how to connect your z2 installation with a Git repository and have it automatically synchronize changes from the repository. That is, being connected with a (typically) remote repository, z2 will automatically check for updates and recognize new modules, deleted modules and changes within modules found remotely. In team development situations for systems of non-trivial size, it is crucial to be integrated with a common source code level. On the other hand, in order to isolate yourself from changes in parts of the system you are working on, use the dev repo with local checkouts.

Understanding the <HOME>

We call an installation of a z2env core a <home>. The file structure of the <home> consists of few but important locations.

Understanding Z2

Most of the concepts that make up z2 can be derived from the desire to efficiently develop standard Java Web Applications that are defined in a central system definition. Add to that the wish to avoid all that build complexity and the desire for a practically usable modularization approach.

Updated by Henning Blohm about 5 years ago · 33 revisions