Q:

Create an hermetic Maven build

I'm preparing a workshop where they may be no Internet connection. Because of that, I'd like to provide every dependency/plugin of the project, so attendees can work on it, completely offline.
I've got a basic Maven project with some dependencies and two plugins.
First, I created an alternate local repository:
mvn -Dmaven.repo.local=dependencies dependency:go-offline

Then, I expected the following command to run fine, but it doesn't! And I some mentioned missing plugins are not available in maven central or within the maven distribution:
mvn -o -Dmaven.repo.local=dependencies package

This fail with the following error message:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources (default-resources) on project XXX: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources failed: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: The following artifacts could not be resolved: org.apache.maven:maven-profile:jar:2.0.6, org.apache.maven:maven-repository-metadata:jar:2.0.6, org.apache.maven:maven-plugin-registry:jar:2.0.6, classworlds:classworlds:jar:1.1-alpha-2: Cannot access central (https://repo.maven.apache.org/maven2) in offline mode and the artifact org.apache.maven:maven-profile:jar:2.0.6 has not been downloaded from it before.

Any idea how to get these missing bits while creating an alternate local repo? Thanks in advance!

A:

Based on this issue in the plugin's Jira this problem is still not resolved.
The best work around so far is to package the project online once, using the custom repository.
mvn -Dmaven.repo.local=dependencies dependency:go-offline

then 
mvn -Dmaven.repo.local=dependencies package

and finally
mvn -Dmaven.repo.local=dependencies -o package

If your workshop go farther than deploy, you should check that next goals run fine offline too!

