34 lines
1.2 KiB
Markdown
34 lines
1.2 KiB
Markdown
# What is Maven?
|
|
|
|
[Apache Maven](http://maven.apache.org) is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
|
|
|
|
%%LOGO%%
|
|
|
|
# How to use this image
|
|
|
|
## Create a Dockerfile in your Maven project
|
|
|
|
```dockerfile
|
|
FROM %%IMAGE%%:3.2-jdk-7-onbuild
|
|
CMD ["do-something-with-built-packages"]
|
|
```
|
|
|
|
Put this file in the root of your project, next to the pom.xml.
|
|
|
|
This image includes multiple ONBUILD triggers which should be all you need to bootstrap. The build will `COPY . /usr/src/app` and `RUN mvn install`.
|
|
|
|
You can then build and run the image:
|
|
|
|
```console
|
|
$ docker build -t my-maven .
|
|
$ docker run -it --name my-maven-script my-maven
|
|
```
|
|
|
|
## Run a single Maven command
|
|
|
|
For many simple projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Maven project by using the Maven Docker image directly, passing a Maven command to `docker run`:
|
|
|
|
```console
|
|
$ docker run -it --rm --name my-maven-project -v "$PWD":/usr/src/mymaven -w /usr/src/mymaven %%IMAGE%%:3.2-jdk-7 mvn clean install
|
|
```
|