¿Hay alguna manera de decirle a maven (al hacer mvn package, mvn site o ...) que no resuelva las dependencias del repositorio local?
No, así es como funciona toda la resolución de dependencia (a través del repositorio local).
A veces tengo problemas cuando las dependencias previamente almacenadas en la memoria caché (por ejemplo, SomeProject-0.7-ALPHA) ya no están disponibles en el repositorio remoto.
Lo siento por decir lo obvio, pero la eliminación de las dependencias de un repositorio remoto es una práctica horrible y conduce a ... bueno, el tipo de problemas que enfrenta. Si es posible, evita hacer eso.
Tan pronto como comparto mi pom con otros, pueden tener problemas, ya que no tienen una versión en caché de esa dependencia y la dependencia ya no se puede resolver desde el repositorio remoto.
Una forma de comprobar que las cosas funcionan para otros serían a purga las dependencias del proyecto que vas a compartir desde su repositorio local y volver a resolverlos. Por supuesto, hacer esto manualmente sería realmente doloroso, pero la buena noticia es que el Maven Dependency Plugin tiene un objetivo purge-local-repository
para eso.
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:purge-local-repository \
-DreResolve=true \
-DactTransitively=true \
-Dverbose=true
Si esto no funciona, entonces usted sabe que le falta algo y no puede ser resuelto ya que es básicamente lo que quiere saber. Pero también lo has perdido, así que haz una copia de seguridad de tu repositorio si esto te importa.
¿Por qué la dependencia ya no está disponible en el repositorio remoto? Si hay una versión más nueva, ¿por qué no simplemente actualizarla? Si la nueva versión no es compatible con versiones anteriores, ¿por qué eliminar la anterior? –
El problema es detectar el hecho de que la versión anterior ya no está disponible. No puedo verificar todas las dependencias manualmente y como estoy teniendo la versión local en caché del maven de dependencia no disponible no me dirá que hay un problema. –
Entiendo su problema directo; Sin embargo, traté de señalar con mis preguntas que en mi humilde opinión podría haber un problema de proceso detrás de esto. Y en este caso, probablemente sea mejor resolver la causa raíz en lugar de buscar una solución alternativa. –