Nablarch Environment Construction

Generating projects from archetypes

Generate a project by referring to a blank project.

Multi-module configuration

Depending on the system requirements, not only web applications but also batch applications are often required. However, archetypes currently available are single-module projects for each processing method, such as the “Web Projects” and “Nablarch Batch Projects”. Therefore, you need to think how to bring these multiple projects together.

Conversely, classes and resources such as Entity and Domain commonly used in systems need to be extracted as a common library without duplication in web and batch projects.

There are two possible ways to integrate.

■Integrate into multi-module project

Integrate into a multi-module project consisting of multiple modules, such as Web, batch, common modules. Manually integrate the generated archetype project for multi-modularization.

Handle as an independent project

Handle web, batch and common projects as independent single-module projects.

In this case, each project is related only by dependency, and will not have a parent-child relationship.

Component settings

Projects generated with archetypes have minimal settings. Therefore, the necessary settings are added to the component setting file.

Eliminate TODO

Projects generated by archetypes include parts with TODO comments (such as connection URL of JDBC). Make corrections according to the instructions described in the TODO comments.

Add functions

In a project generated by an archetype, not all the functions of Nablarch are enabled. Refer to the document and add necessary settings. Refer mainly to the following parts.

Introduction of static analysis tool

The installation procedures for the following check tools are described in the Java style guide.

  • Checkstyle
  • SpotBugs
  • Unauthorized API check tool
  • ArchUnit

Since the execution method of each check tool is described, set so that it can be executed by Maven accordingly. (paths may need to be replaced depending on the project configuration)