Docker images for Apache Maven Daemon (mvnd) with multi-JDK support, enabling fast Maven project builds in containerized environments.
# Use JDK 17 (Recommended)
docker pull power4j/mvnd:1.0.2-temurin-17-jdk-jammy
# Use JDK 8
docker pull power4j/mvnd:1.0.2-temurin-8-jdk-jammy
# Use JDK 11
docker pull power4j/mvnd:1.0.2-temurin-11-jdk-jammy
# Use JDK 21
docker pull power4j/mvnd:1.0.2-temurin-21-jdk-jammy
# Use JDK 22
docker pull power4j/mvnd:1.0.2-temurin-22-jdk-jammy# Run in Maven project directory
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install
# Or use alias to simplify commands
alias mvnd='docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd'
mvnd clean installpower4j/mvnd:{mvnd-version}-{jdk-type}
| JDK Version | Image Tag | Base Image | Recommended Use |
|---|---|---|---|
| JDK 8 | temurin-8-jdk-jammy |
eclipse-temurin:8-jdk-jammy |
Legacy project compatibility |
| JDK 11 | temurin-11-jdk-jammy |
eclipse-temurin:11-jdk-jammy |
LTS version |
| JDK 17 | temurin-17-jdk-jammy |
eclipse-temurin:17-jdk-jammy |
Recommended LTS version |
| JDK 21 | temurin-21-jdk-jammy |
eclipse-temurin:21-jdk-jammy |
Latest LTS version |
| JDK 22 | temurin-22-jdk-jammy |
eclipse-temurin:22-jdk-jammy |
Latest version |
1.0.2(current default)- Other versions available at GitHub Releases
# Clean and build
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install
# Skip tests
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install -DskipTests# Run all tests
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd test
# Run specific test
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd test -Dtest=MyTestClass# Package as JAR
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd package
# Package as WAR
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd package -Pwar# Deploy to local repository
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd deploy
# Deploy to remote repository
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd deploy -DaltDeploymentRepository=remote-repo::default::https://your-repo.com# Use custom settings.xml
docker run --rm \
-v $(pwd):/workspace \
-v ~/.m2/settings.xml:/root/.m2/settings.xml \
-w /workspace \
power4j/mvnd:1.0.2-temurin-17-jdk-jammy \
mvnd clean install -s /root/.m2/settings.xml# Use specific profile
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install -Pproduction
# Use multiple profiles
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install -Pdev,test# Set memory limits
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install -Dmvnd.jvmargs="-Xmx2g -Xms1g"
# Set system properties
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install -Dspring.profiles.active=prodCreate docker-compose.yml:
version: '3.8'
services:
mvnd:
image: power4j/mvnd:1.0.2-temurin-17-jdk-jammy
volumes:
- .:/workspace
- ~/.m2:/root/.m2
working_dir: /workspace
command: mvnd clean installRun:
docker-compose up-
Permission Issues
# Ensure current user has read/write permissions on project directory sudo chown -R $(id -u):$(id -g) .
-
Maven Repository Cache
# Clean Maven local repository docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean
-
Network Issues
# Use proxy settings docker run --rm -v $(pwd):/workspace -w /workspace \ -e HTTP_PROXY=http://proxy:port \ -e HTTPS_PROXY=http://proxy:port \ power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install
# Check mvnd version
docker run --rm power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd --version
# Check Java version
docker run --rm power4j/mvnd:1.0.2-temurin-17-jdk-jammy java --versionIssues and Pull Requests are welcome!
This project is licensed under the Apache License 2.0.