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.
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.
...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.
Get Maven: A Developer's Notebook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.