2010-01-27 11 views
11

Tengo un proyecto maven con una dependencia de instantáneas. ¿Cómo sabe maven si la instantánea necesita ser actualizada? ¿Siempre se actualiza? ¿Está basado en el tiempo? ¿Una actualización basada en suma de comprobación? Sé que puedo forzar una actualización pero, de lo contrario, ¿cómo lo verifica?actualizaciones instantáneas de maven

gracias, Jeff

Respuesta

16

De acuerdo con la documentación, el valor por defecto es que sólo se actualizará una vez al día. Es entonces cuando se ejecuta la primera compilación del día. Puede anular este comportamiento con el elemento de política de instantánea.

  • siempre - comprobar siempre cuando Maven se inicia nuevas versiones de las instantáneas
  • Nunca - Nunca comprobar si hay versiones más nuevas remotas. Una vez desactivadas, se pueden realizar actualizaciones manuales.
  • diaria (por defecto) - comprobar en la primera carrera del día (hora local)
  • intervalo: XXX - Revisar toda la XXX minutos

http://maven.apache.org/maven-settings/settings.html

+6

Este enlace está un poco anticuado - Intentaría http://maven.apache.org/settings.html#Repositories, y buscar updatePolicy –

+0

@RoyTruelove cierto, pero eso realmente no ayuda. Aquí está la línea más pertinente en esa página: "Este elemento especifica cómo a menudo las actualizaciones deben intentar ocurrir. Maven comparará la marca de tiempo de POM local (almacenada en el archivo maven-metadata del repositorio) con el control remoto. "En cuanto a lo que eso significa exactamente, me supera. ¿Lo hace en la primera ejecución del día? O ¿lo hace? 24 horas desde la última descarga? – Noremac

+0

si usa el complemento m2e, haga clic con el botón secundario en el proyecto -> maven ---> actualice el proyecto -> seleccione la actualización forzada de la instantánea/versiones hará el truco –

6

Tengo un proyecto Maven con una dependencia de instantánea. ¿Cómo sabe maven si la instantánea necesita ser actualizada?

Maven comparará la marca de tiempo de POM local (almacenada en el archivo maven-metadata del repositorio) en el control remoto. Ver por ejemplo hibernate-core-3.5.0-SNAPSHOT en el repositorio de instantáneas de JBoss.

¿Siempre se actualiza? ¿Está basado en el tiempo? ¿Una actualización basada en suma de comprobación?

Esto depende de la updatePolicy de la repository o pluginRepository que contiene las instantáneas. El valor predeterminado es un diarias de verificación (valores de otros possibles son siempre, intervalo: X (donde X es un número entero en minutos) o Nunca

Cuando se utiliza INSTANTÁNEA internamente para un proyecto en activo. desarrollo, es muy común establecer el <updatePolicy>always</updatePolicy> para el repositorio interno.

+0

Pero si está trabajando en el proyecto b que depende de una instantánea, y también está trabajando en una, la descarga de una instantánea de un archivo anulará sus propios cambios –

+0

@AsafMesika Eso es cierto, El plugin m2 para el eclipse tiene una función de "resolución de espacio de trabajo", que descarga nuevas SNAPSHOTS solo para proyectos que NO están abiertos en el espacio de trabajo de eclipse. Lo que sí, todavía no he encontrado una solución similar de netbeans. – bbaja42

Cuestiones relacionadas