Por lo tanto, tengo un proyecto de guerra con varios tarros dependientes que no están disponibles en ningún repositorio. Hasta hace poco, los mantenía en src/main/webapp/WEB-INF/lib
y los añadía al pom con system scope.Maven: mantener tarros dependientes en el control de la versión del proyecto
Entiendo que eso sea problemático, así que estoy buscando limpiar mi construcción. He instalado semi-manualmente los frascos en mi .m2/repository
a través del plugin install:install-file
. Eso es genial para mí, pero ¿qué hay de las otras personas en mi equipo? Somos pequeños, y configurar Nexus no es realmente una opción para nosotros. He recurrido a agregar comentarios al pom.xml
explicando cómo ejecutar install:install-file
para cada jar.
estoy bien con la solución install:install-file
, pero todavía me gustaría a incluyen estos artefactos en el control de versiones de mi proyecto, y no sólo han roció sobre mi sistema de archivos.
Mantenerlos en src/main/webapp/WEB-INF/lib
no funciona, ya que eso los agrega automáticamente al artefacto de guerra resultante (digresión: si maven simplemente continuara y los agregara al classpath aquí estaría listo, sin necesidad de instalarlo: instalar en archivos)
pregunta: hay un lugar, sancionada con la disposición de directorios experta en donde puedo meter estos archivos .jar
, sólo para que yo puedo mantenerlos como parte de mi proyecto?
soy consciente de lo que está pasando aquí-Maven está tratando de mantener los frascos dependientes fuera de mi compilación por lo que cuando otros proyectos dependen de mi construcción, que puedan resolver las dependencias transitivas. Eso es genial para los proyectos de código abierto que están entrando en los repositorios de maven público, pero apostaría a que la gran mayoría de las personas que usan Maven están trabajando en proyectos de "hoja" como este, y sería muy útil tener una forma de hacerlo. para incluir archivos jar como parte del proyecto sin saltar tantos aros.
La configuración de Nexus es bastante fácil. Tengo una instancia corriendo solo para mí en casa. – ColinD
¿Sería demasiado exagerado crear un repositorio local con nexus? Puede usarlo para realizar un proxy a todos los repositorios maven y para conservar los archivos jar de terceros. – Augusto
Claro, podría instalar Nexus. Pero luego tuve que pedirle a todos los que tocan este proyecto que hagan lo mismo. O bien configúralo en un servidor, haz una copia de seguridad, preocúpate por la seguridad, etc. Simplemente parece una solución muy engorrosa para lidiar con un par de archivos jar personalizados. –