This project provides the following Maven archetypes for a Jexxa or JLegMed application:
jlegmed-blank-archetype
: Generates a project for a JLegMed application including only source code that is part of all projects (such as a main-class).jexxa-blank-archetype
: Generates a project for a Jexxa application including only source code that is part of all projects (such as a main-class).
-
Build your first Jexxa- or JLegMed project as self-contained jar and/or docker image
-
Template for Unit-, Stub- and Integration tests
-
Architectural tests for pattern language, ports & adapters architecture, and usage of aggregates.
-
Predefined CI/CD pipeline for GitHub including automatic dependency and changelog updates
For your own project please adjust at least parameters projectName
, groupId
, and githubAccount
.
Available parameters are described below.
For jlegmed-blank-archetype
use:
mvn -B archetype:generate \
-DarchetypeGroupId=io.jexxa \
-DarchetypeArtifactId=jlegmed-blank-archetype \
-DprojectName=JLegMedProject \
-DgroupId=com.github.jlegmedproject \
-DgithubAccount=jexxa-projects
For jexxa-blank-archetype
use:
mvn -B archetype:generate \
-DarchetypeGroupId=io.jexxa \
-DarchetypeArtifactId=jexxa-blank-archetype \
-DprojectName=JexxaProject \
-DgroupId=com.github.jexxaproject \
-DgithubAccount=jexxa-projects
- Create new project
File > New > Project
- Click Maven on the left-hand side of the new project dialog
- Check
Create from archetype
- Select Catalog
Central Maven
- Select Archetype
io.jexxa:jexxa-archetype
orio.jexxa:jexxa-blank-archetype
- Select latest available version
- Enter your project-specific settings in
Additional Properties
andAdvanced Settings
. Available parameters are described below.
Special Note:
- Windows:
artifactId
must be written with the same upper/lower case as theprojectName
, such asJexxaProejct
. - Linux/macOS:
artifactId
must be written in lower cases, such asjexxaproject
.
Parameter | Description | Example | Default Value |
---|---|---|---|
projectName |
Specifies the name of the project in the desired upper/lower case and the directory that will be created for it. | JexxaProject |
None. It must be defined. |
groupId |
Defines the groupID for the project. |
com.github.jexxaproject |
None. It must be defined. |
artifactId |
Defines the artifactId of the project. |
jexxaproject |
projectName in lower cases. Due to java recommendations, it is always converted into lower cases. |
package |
Defines the base package name of the project. | com.github.jexxaproject |
groupId |
githubAccount |
Specifies the GitHub account or organization that owns the repository | jexxa-projects |
None. It must be defined to use included GitHub-Actions |
vcsRepository |
Defines the URL of used VCS repository. | https://github.com/jexxa-projects/jexxa |
https://github.com /<githubAccount>/<projectName> |
containerRegistry |
Defines the URL of used container registry. | ghcr.io/jexxa-projects |
ghcr.io/<githubAccount> |
javaVersion |
Defines the used SDK Version. Note: You need at least Java17 | 21 |
21 |
Please follow the README.md in created project directory how to run the project