Kauri Documentation
 PreviousHomeNext 
20 TODO - WRITE UP AND ORGANIZEBook Index20.1.3 Using the archetype

20.1.2 Various parts of the structure

20.1.2.1 The Project Declaration (root pom.xml)

Maven organizes all build and dependency-management aspects of your project at build time in the pom.xml. 
In the typical multi-module approach Kauri proposes this is called the 'root-pom'.  It will hold:

20.1.2.2 The Various modules and their contents

Each module being produced in a project requires its own subdirectory (holding its proper pom.xml)  This matches the maven approach to let each pom.xml be responsible to produce one artifact.  In the case of kauri-modules these artifacts are classic java jar files with an optional KAURI-INF map in them.

The typical maven approach is to let

{module-dir}/src/main/java

Hold the java classes, organized in packages that will be compiled to {module-dir}/target/classes and included in the root of the jar.

{module-dir}/src/main/resources

Hold additional 'resources' to be mixed in with the classes mentioned above.

{module-dir}src/main/test

Hold the junit test classes for build-time tests. (Not to be included in the jar)

To that Kauri adds:

{module-dir}/src/main/kauri

A place-holder for all kauri-specific stuff that gets folded into the jar under the mentioned KAURI-INF folder.

In that folder the following the following elements/positions have a specific function:

Next to these, you'll typically find also

20.1.2.3 Test and Deploy settings (conf, module-source-location.properties,...)

Lastly the project-folder will hold a number of runtime oriented files that allow for easily running and testing the combined modules in their project setting.

 PreviousHomeNext 
20 TODO - WRITE UP AND ORGANIZE20.1.3 Using the archetype