diff --git a/Dockerfile b/Dockerfile
index 662762f..75fca62 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -19,3 +19,7 @@
 
 # Install necessary binaries to build brooklyn-library
 RUN apk add --no-cache git procps
+
+RUN mkdir -p /var/maven/.m2/ && chmod -R 777 /var/maven/
+ENV MAVEN_CONFIG=/var/maven/.m2
+
diff --git a/Jenkinsfile b/Jenkinsfile
index 76a41e3..67c1b79 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -36,16 +36,16 @@
             }
 
             stage('Run tests') {
-                environmentDockerImage.inside('-i --name brooklyn-${DOCKER_TAG} -u 910:910 -v ${WORKSPACE}/.m2:/var/maven/.m2 -v ${WORKSPACE}:/usr/build -w /usr/build -e MAVEN_CONFIG=/var/maven/.m2') {
-                    sh 'mvn clean install -Duser.name=$(id -un 910)'
+                environmentDockerImage.inside('-i --name brooklyn-${DOCKER_TAG} -u 910:910 --mount type=bind,source="${HOME}/.m2/settings.xml",target=/var/maven/.m2/settings.xml,readonly -v ${WORKSPACE}:/usr/build -w /usr/build') {
+                    sh 'mvn clean install -Duser.home=/var/maven -Duser.name=$(id -un 910)'
                 }
             }
 
             // Conditional stage to deploy artifacts, when not building a PR
             if (env.CHANGE_ID == null) {
                 stage('Deploy artifacts') {
-                    environmentDockerImage.inside('-i --name brooklyn-${DOCKER_TAG} -u 910:910 -v ${WORKSPACE}/.m2:/var/maven/.m2 -v ${WORKSPACE}:/usr/build -w /usr/build -e MAVEN_CONFIG=/var/maven/.m2') {
-                        sh 'mvn deploy -DskipTests -Duser.name=$(id -un 910)'
+                    environmentDockerImage.inside('-i --name brooklyn-${DOCKER_TAG} -u 910:910 -v ${WORKSPACE}:/usr/build -w /usr/build') {
+                        sh 'mvn deploy -DskipTests -Duser.home=/var/maven -Duser.name=$(id -un 910)'
                     }
                 }
 
diff --git a/README.md b/README.md
index 147295e..7cc40b2 100644
--- a/README.md
+++ b/README.md
@@ -4,12 +4,20 @@
 ### Library of Entities for Apache Brooklyn
 
 This sub-project contains various entities not *needed* for Brooklyn,
-but useful in practice as building blocks, including entities for webapps,
+but useful as building blocks, including entities for webapps,
 datastores, and more.
 
 ### Building the project
 
-2 methods are available to build this project: within a docker container or directly with maven.
+Two methods are available to build this project: within a docker container or directly with maven.
+
+#### Using maven
+
+Simply run:
+
+```bash
+mvn clean install
+```
 
 #### Using docker
 
@@ -23,16 +31,18 @@
 Then run the build:
 
 ```bash
-docker run -i --rm --name brooklyn-library -u $(id -u $(whoami)):$(id -g $(whoami)) \
-    -e MAVEN_CONFIG=/var/maven/.m2 \
-    -v ${HOME}/.m2:/var/maven/.m2 -v ${PWD}:/usr/build -w /usr/build \
-    brooklyn:library mvn clean install -Duser.home=/var/maven -Duser.name=$(whoami)
+docker run -i --rm --name brooklyn-library -u $(id -u):$(id -g) \
+     --mount type=bind,source="${HOME}/.m2/settings.xml",target=/var/maven/.m2/settings.xml,readonly \
+     -v ${PWD}:/usr/build -w /usr/build \
+     brooklyn:library mvn clean install -Duser.home=/var/maven -Duser.name=$(id -un)
+
 ```
 
-### Using maven
-
-Simply run:
-
-```bash
-mvn clean install
+You can speed this up by using your local .m2 cache:
 ```
+docker run -i --rm --name brooklyn-library -u $(id -u):$(id -g) \
+    -v ${HOME}/.m2:/var/maven/.m2 \
+    -v ${PWD}:/usr/build -w /usr/build \
+    brooklyn:library mvn clean install -Duser.home=/var/maven -Duser.name=$(id -un)
+```
+
diff --git a/software/webapp/pom.xml b/software/webapp/pom.xml
index 9a77f99..b58b012 100644
--- a/software/webapp/pom.xml
+++ b/software/webapp/pom.xml
@@ -48,6 +48,7 @@
                             -->
                             <exclude>src/main/resources/org/apache/brooklyn/entity/webapp/jboss/jboss7-standalone.xml</exclude>
                             <exclude>src/main/resources/org/apache/brooklyn/entity/webapp/jetty/jetty-brooklyn.xml</exclude>
+                            <exclude>**/.brooklyn/brooklyn-persisted-state/**</exclude>
                         </excludes>
                     </configuration>
                 </plugin>
