Performing an Offline Build
If you need to use Maven in a disconnected situation, you'll need to know how to convince Maven not to check for the presence of an up-to-date SNAPSHOT dependency. This lab will show you how to perform an offline build using Maven.
How do I do that?
The process is simple: just use the -o
command-line option. For example, if you do not have a network
connection, but would like to execute the test goal, run maven -o test. Maven will then execute the
test goal without checking for
dependencies. If your project does not depend on SNAPSHOT builds, you should be able to
disconnect your environment without having to add the -o flag. If you do rely on SNAPSHOT builds, you will need to use the
-o flag, as Maven will attempt to
check for the presence of a newer SNAPSHOT every time it executes a goal. In
this case, the project will not build successfully without the use of
the -o flag.
What about...
...performing an offline build if I haven't downloaded any artifacts?
Of course, this won't work. For an offline build to work you must already have the
required dependencies in your local repository. The easiest way to get
Maven to download dependencies for a project is to run a simple "noop"
goal present in every Maven project—for instance, build:start. This goal is executed before
any other goal and does not perform any action. If you run build:start, Maven will grab any dependency
referenced from the project.xml
file.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access