Maven archetype for dataliquid Open Source Software Java projects with standardized configuration and best practices.
-
Configurable Java version (default: 17, supports 11, 17, 21+)
-
JUnit 5 with example tests
-
dataliquid parent-oss POM integration (version 2.3.1)
-
PMD code quality checks
-
Code formatting with formatter-maven-plugin
-
Pre-configured
.gitignore
-
Application properties template
-
GitHub Actions workflows:
-
CI workflow for master/develop branches
-
Dependency vulnerability checks
-
Gitflow release automation
-
Gitflow hotfix automation
-
Clone and install the archetype locally:
git clone https://github.com/dataliquid/java-oss-archetype.git
cd java-oss-archetype
mvn clean install
Simply run:
mvn archetype:generate \
-DarchetypeGroupId=com.dataliquid.maven \
-DarchetypeArtifactId=java-oss-archetype \
-DarchetypeVersion=1.0.0-SNAPSHOT
Maven will prompt you for all required parameters.
mvn archetype:generate -DarchetypeGroupId=com.dataliquid.maven -DarchetypeArtifactId=java-oss-archetype -DarchetypeVersion=1.0.0-SNAPSHOT -DgroupId=com.yourcompany -DartifactId=your-project -Dversion=1.0.0-SNAPSHOT -Dpackage=com.yourcompany.project -DjavaVersion=17 -DinteractiveMode=false
mvn archetype:generate \
-DarchetypeGroupId=com.dataliquid.maven \
-DarchetypeArtifactId=java-oss-archetype \
-DarchetypeVersion=1.0.0-SNAPSHOT \
-DgroupId=com.yourcompany \
-DartifactId=your-project \
-Dversion=1.0.0-SNAPSHOT \
-Dpackage=com.yourcompany.project \
-DjavaVersion=17 \
-DinteractiveMode=false
mvn archetype:generate \
-DarchetypeGroupId=com.dataliquid.maven \
-DarchetypeArtifactId=java-oss-archetype \
-DarchetypeVersion=1.0.0-SNAPSHOT \
-DgroupId=com.yourcompany \
-DartifactId=your-project \
-Dversion=1.0.0-SNAPSHOT \
-Dpackage=com.yourcompany.project \
-DjavaVersion=21 \
-DinteractiveMode=false
Parameter | Description | Default Value |
---|---|---|
|
Maven group ID for your project |
|
|
Maven artifact ID for your project |
|
|
Initial version of your project |
|
|
Base package for Java classes (optional) |
|
|
Java version for the project (11, 17, 21, etc.) |
|
your-project/
├── pom.xml
├── LICENSE
├── .gitignore
├── .github/
│ └── workflows/
│ ├── ci.yml
│ ├── dependency-check.yml
│ ├── gitflow-release.yml
│ └── gitflow-hotfix.yml
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/yourcompany/project/
│ │ │ └── App.java
│ │ └── resources/
│ │ └── application.properties
│ └── test/
│ ├── java/
│ │ └── com/yourcompany/project/
│ │ └── AppTest.java
│ └── resources/
│ └── test.properties
└── target/
The generated projects inherit from com.dataliquid:parent-oss:2.3.1
, which provides:
-
Standardized plugin configurations
-
Code quality checks (PMD)
-
Automatic code formatting
-
Central repository publishing setup
-
Common dependency management
The archetype includes integration tests that verify the generated project:
mvn clean verify
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.