In order to create a new application you must use the archetype provided by devon4j which uses the maven archetype functionality.
To create a new application, you should have installed devonfw IDE. Follow the devon ide documentation to install the same. You can choose between 2 alternatives, create it from command line or, in more visual manner, within eclipse.
To create a new devon4j application from command line, you can simply run the following command:
devon java create com.example.application.sampleapp
For low-level creation you can also manually call this command:
mvn -DarchetypeVersion=${devon4j.version} -DarchetypeGroupId=com.devonfw.java.templates -DarchetypeArtifactId=devon4j-template-server archetype:generate -DgroupId=com.example.application -DartifactId=sampleapp -Dversion=1.0.0-SNAPSHOT -Dpackage=com.devonfw.application.sampleapp
Attention: The archetypeVersion
(first argument) should be set to the latest version of devon4j
. You can easily determine the version from this badge:
Further providing additional properties (using -D
parameter) you can customize the generated app:
property | comment | example |
---|---|---|
|
Choose the type of RDBMS to use ( |
|
|
Option to add an |
|
After that, you should follow this Eclipse steps to create your application:
-
Create a new Maven Project.
-
Choose the devon4j-template-server archetype, just like the image.
-
Fill the Group Id, Artifact Id, Version and Package for your project.
-
Finish the Eclipse assistant and you are ready to start your project.
The application template (archetype) generates a Maven multi-module project. It has the following modules:
-
api
: module with the API (REST service interfaces, transferobjects, datatypes, etc.) to be imported by other apps as a maven dependency in order to invoke and consume the offered (micro)services. -
core
: maven module containing the core of the application. -
batch
: optional module for batch(es) -
server
: module that bundles the entire app (core
with optionalbatch
) as a WAR file.
The toplevel pom.xml
of the generated project has the following features:
-
Properties definition: Spring-boot version, Java version, etc.
-
Modules definition for the modules (described above)
-
Dependency management: define versions for dependencies of the technology stack that are recommended and work together in a compatible way.
-
Maven plugins with desired versions and configuration
-
Profiles for test stages
To run your application from your favourite IDE, simply launch SpringBootApp
as java application.
More details are available here.