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 a 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-projectsFor 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-archetypeorio.jexxa:jexxa-blank-archetype - Select latest available version
- Enter your project-specific settings in
Additional PropertiesandAdvanced Settings. Available parameters are described below.
Special Note:
- Windows:
artifactIdmust be written with the same upper/lower case as theprojectName, such asJexxaProejct. - Linux/macOS:
artifactIdmust 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 | 25 |
25 |
Please follow the README.md in the created project directory how to run the project