¿Existe una opción de línea de comando maven para el modo fuera de línea?

80

Puede especificar en su archivo de configuración de maven que desea ejecutar en modo fuera de línea, pero ¿existe una opción de línea de comando equivalente?

Me imagino algo como eg

mvn install -Dmaven.offline.true
Joel
fuente

Respuestas:

169

Especifique el modo fuera de línea a través de -o/ --offline:

mvn -o install

Referencia del libro de Maven

Dave Newton
fuente
y puedes encontrarlo en mvn -h:)
ipolevoy
20

El modo fuera de línea de Maven se invoca mediante mvn -o.

Sin embargo, eso solo puede no ser suficiente, porque a veces el proyecto actual se refiere a artefactos que aún no están presentes en el caché del repositorio local de Maven ( ~/.m2/repository). Intentar construir ese proyecto en modo fuera de línea fallará porque faltan las dependencias necesarias y no se pueden descargar.

Entonces hay otro objetivo útil:

mvn dependency:go-offline

Este es un gran comando para ejecutar antes de subirse a un avión, lo que mejorará tus posibilidades de BUILD SUCCESS. Consulte la documentación de desconexión para obtener más detalles.

ctrueden
fuente
19

Solo un simple:

mvn --offline

En el futuro, recomiendo referirse a mvn --help.

Khmarbaise
fuente
5

mvn -ofunciona en la mayoría de los casos, pero en algunos casos no será suficiente, ya que desde Maven 3 un artefacto descargado de un repositorio remoto / central crea un _remote.repositoriesarchivo en su repositorio local con una referencia sobre dónde se descargó la dependencia.
Puede causar algunos problemas si luego no tiene acceso a este repositorio remoto durante sus compilaciones.
Se está utilizando una solución alternativa que puede funcionar mvn -o -llr yourGoal.

De la documentación de ayuda:

 -llr, - repositorio-local-heredado Usar Maven 2 Local heredado
                                        Comportamiento del repositorio, es decir, sin uso de
                                        _remote.repositories. Puede también ser
                                        activado usando
                                        -Dmaven.legacyLocalRepo = verdadero

 -o, - sin conexión Trabajar sin conexión

Otra forma de ejecutar mvn de forma offline es borrando estos _remote.repositoriesmetadatos almacenados en el directorio de las dependencias descargadas.

davidxxx
fuente
3

Pruebe -o, o incluso - ayude a obtener ayuda con todas las opciones

vickirk
fuente