A development environment for Maven projects. It provides versioned releases of the Apache Maven build tool and persists packages to speed up builds across workshop updates.
A minimal workshop:
# workshop.yaml
name: maven-app
base: [email protected]
sdks:
- name: openjdk
channel: 21/stable
- name: maven
channel: 3.9/stable
actions:
verify: mvn verify
launch: java -jar target/your-app-name-1.0-SNAPSHOT.jarThis demonstrates a basic Maven build workflow.
Note: The Maven Workshop SDK requires a Java Development Kit (JDK) installation with a suitable version to run.
- The
openjdkSDK (or other JDK installation) is required. - Your Maven project should be in your project directory.
- On launch, the SDK confugures
PATH. No dependencies are pre-installed; Packages are downloaded during the firstmaven verifyormaven run.
Once the workshop is ready:
workshop shell
mvn verifyThe first verify downloads packages in ~/.m2/repository, which is mapped to your host via the maven-cache mount plug. Subsequent builds reuse cached packages.
To see where the Maven cache is stored on the host:
workshop infoFrom within the workshop shell:
workshop shell
mvn package
java -jar target/your-app-name-1.0-SNAPSHOT.jarUse standard mvn commands; the toolchain behaves exactly as it would in a regular Maven installation.
- Interface:
mount - Workshop target:
/home/workshop/.m2/repository - Purpose: Persists package downloads between workshop updates.
This SDK doesn't define any slots.
- Maven community: Maven Community Docs
- Workshop forum: Discourse
- Please review our Code of Conduct before participating.
All contributions, including code, documentation updates, and issue reports, are welcome!
- See CONTRIBUTING for guidelines.
- Open issues or pull requests on the official repository.
Copyright 2026 Canonical Ltd.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 2.1 (LGPLv2.1) as published by the Free Software Foundation.
Maven is licensed under Apache License 2.0.