Maven e varios repositorios locais (system- / user-wide)
Ola! Aínda que xa non temos moito tráfico nesta lista, vou tentar lanzar por aquí unha consulta que non me ten presa, a ver hai desenvolvedores Java et al que me poidan iluminar :-) Os meus coñecementos do mundo Java e as súas tecnoloxías son moi básicos (e sempre lle tiven bastante odi^W manía ademais, que non se mitiga agora que as teño que empregar nalgunhas das cousas que fago), así que igual o que estou preguntando é super-básico, pero eu non son capaz de resolvelo sen terme que empapar nunha guía de referencia de Maven... O caso é que teño uns jars nun repositorio local «system-wide» (/usr/shara/maven-repo), que quero que maven empregue cando uso o correspondente pom.xml, sen que os descargue de novo, e que se ten que descargar jars adicionais o faga no repo local «user-wide» (~/.m2/repository). Vaia, que quero que cando precise algunha dependencia mire primeiro no repo system-wide e, se non está aí, o descargue no user-wide, pero que se está non descargue nada. O lóxico, vaia... Alguén me pode dar a receita para acadar algo que semella tan simple, porque eu non o consigo. Nun dos casos concretos, teño isto pre-instalado: /usr/share/maven-repo/org/zeromq/jzmq/3.1.0/jzmq-3.1.0.jar Pero maven insiste en descargar isto cando lanzo o proceso de construción do meu pom.xml: ~/.m2/repository/org/zeromq/jzmq/3.1.0/jzmq-3.1.0.jar Apertas, E
Ola Emilio, Contéstoche agora mesmo por privado, que o ficheiro que adxunto leva certa información non pública. De todos modos, se axuda e tés a ben, podes deixar logo por aquí un resumo da aproximación por se alguén ten o mesmo problema. Saúdos, Alejo O luns, 12/08/2019 ás 13:32, Emilio J. Padrón González (<emilioj@gpul.org>) escribiu:
Ola!
Aínda que xa non temos moito tráfico nesta lista, vou tentar lanzar por aquí unha consulta que non me ten presa, a ver hai desenvolvedores Java et al que me poidan iluminar :-)
Os meus coñecementos do mundo Java e as súas tecnoloxías son moi básicos (e sempre lle tiven bastante odi^W manía ademais, que non se mitiga agora que as teño que empregar nalgunhas das cousas que fago), así que igual o que estou preguntando é super-básico, pero eu non son capaz de resolvelo sen terme que empapar nunha guía de referencia de Maven...
O caso é que teño uns jars nun repositorio local «system-wide» (/usr/shara/maven-repo), que quero que maven empregue cando uso o correspondente pom.xml, sen que os descargue de novo, e que se ten que descargar jars adicionais o faga no repo local «user-wide» (~/.m2/repository).
Vaia, que quero que cando precise algunha dependencia mire primeiro no repo system-wide e, se non está aí, o descargue no user-wide, pero que se está non descargue nada. O lóxico, vaia...
Alguén me pode dar a receita para acadar algo que semella tan simple, porque eu non o consigo.
Nun dos casos concretos, teño isto pre-instalado: /usr/share/maven-repo/org/zeromq/jzmq/3.1.0/jzmq-3.1.0.jar
Pero maven insiste en descargar isto cando lanzo o proceso de construción do meu pom.xml: ~/.m2/repository/org/zeromq/jzmq/3.1.0/jzmq-3.1.0.jar
Apertas, E
_______________________________________________ xeral mailing list xeral@lists.gpul.org http://lists.gpul.org/cgi-bin/mailman/listinfo/xeral
Boas Emilio, Non sei se che deu por empregar Eclipse, pero dende aí tamén se pode acceder á configuración dos repositorios de Maven. [1] [2] Entendo que o que queres é configurar dous "localRepository". Dende o settings poderíase facer con perfís (empregando unha variable do perfil para definir o localRepository), ou ben empregando dous ficheiros de settings distintos (non recomendable). O caso é que isto non che permitiría empregar os dous á vez. Neste fío [3] preguntan polo mesmo pero acaban deducindo que o que quería o usuario eran múltiples repositorios remotos. Na mesma resposta apunta a este outro fío [4] onde explica a razón de que só se permita un repositorio local. A aproximación que toma todo o mundo neste caso, é a de empregar un falso repositorio remoto que apunte ó segundo repositorio local, co inconveniente de que duplicará os paquetes do falso repositorio remoto no repositorio local. [1] https://crunchify.com/missing-maven-settings-xml-file-for-your-eclipse-what-... [2] http://maven.apache.org/settings.html [3] https://stackoverflow.com/questions/31564343/can-i-have-multiple-local-repos... [4] https://stackoverflow.com/questions/2018965/maven-installing-artifacts-to-a-... Saúdos, Alejo O mar., 27/08/2019 ás 17:03, Alejo Pacín Jul (<alejopj@gmail.com>) escribiu:
Ola Emilio,
Contéstoche agora mesmo por privado, que o ficheiro que adxunto leva certa información non pública. De todos modos, se axuda e tés a ben, podes deixar logo por aquí un resumo da aproximación por se alguén ten o mesmo problema.
Saúdos,
Alejo
O luns, 12/08/2019 ás 13:32, Emilio J. Padrón González (<emilioj@gpul.org>) escribiu:
Ola!
Aínda que xa non temos moito tráfico nesta lista, vou tentar lanzar por aquí unha consulta que non me ten presa, a ver hai desenvolvedores Java et al que me poidan iluminar :-)
Os meus coñecementos do mundo Java e as súas tecnoloxías son moi básicos (e sempre lle tiven bastante odi^W manía ademais, que non se mitiga agora que as teño que empregar nalgunhas das cousas que fago), así que igual o que estou preguntando é super-básico, pero eu non son capaz de resolvelo sen terme que empapar nunha guía de referencia de Maven...
O caso é que teño uns jars nun repositorio local «system-wide» (/usr/shara/maven-repo), que quero que maven empregue cando uso o correspondente pom.xml, sen que os descargue de novo, e que se ten que descargar jars adicionais o faga no repo local «user-wide» (~/.m2/repository).
Vaia, que quero que cando precise algunha dependencia mire primeiro no repo system-wide e, se non está aí, o descargue no user-wide, pero que se está non descargue nada. O lóxico, vaia...
Alguén me pode dar a receita para acadar algo que semella tan simple, porque eu non o consigo.
Nun dos casos concretos, teño isto pre-instalado: /usr/share/maven-repo/org/zeromq/jzmq/3.1.0/jzmq-3.1.0.jar
Pero maven insiste en descargar isto cando lanzo o proceso de construción do meu pom.xml: ~/.m2/repository/org/zeromq/jzmq/3.1.0/jzmq-3.1.0.jar
Apertas, E
_______________________________________________ xeral mailing list xeral@lists.gpul.org http://lists.gpul.org/cgi-bin/mailman/listinfo/xeral
Ola (again!)
Non sei se che deu por empregar Eclipse, pero dende aí tamén se pode acceder á configuración dos repositorios de Maven. [1] [2]
Non emprego Eclipse, pero, en calquera caso, busco unha solución «batch», vaia. Ten que funcionar nun despregamento automatizado.
Entendo que o que queres é configurar dous "localRepository".
Supoño que, en esencia, si. Quizais sexa que teño un xeito de pensar moi C&Unix-oriented, porque o que busco é o que eu vexo totalmente lóxico: igual que hai múltiples sitios onde podo ter bibliotecas/libraries coas que enlazar os meus arquivos obxectos compilados, e algún deses sitios poden ser system-wide e outros user-wide, quero poder facer o mesmo con maven: - que busque no(s) repo(s) local(is) de sistema o que precise, e se o atopa, perfecto (xa me encargo eu de desactivar opcións para que se descargue versións cun timestamp máis recente -puto pesado o Maven-) Por exemplo: /usr/share/maven-repo en Debian, pero vaia, o lóxico tamén sería que puidera haber un número arbitrario de sitios en /usr ou /usr/local, por exemplo. - e se non atopa algo que precisa, que o descargue no repo local do usuario que está invocando a Maven (usuario que non ten por que ter permiso para meter trapallada nun directorio do sistema). Por exemplo, o típico ~/.m2/repository O meu caso de uso, basicamente, é que eu creo unhas imaxes (SO + todo o que preciso para os meus experimentos, no meu caso cunha cousa que se chama Kameleon [1], pero pensa en dockers ou semellantes) a partir dunhas receitas. Logo desprego para os experimentos esas imaxes en clusters con moitos nodos. Como interesa que todo quede o máis «Reproducible research» posible, as cousas máis importantes (e algunhas moi personalizadas, distintas das que vai descargar Maven) xa as teño en paquetes Debian (o SO que uso nas miñas imaxes, e así quédanme moi doadas de manter e controlar as versións instaladas). Doutras non me preocupo e non as meto na receita/imaxe, polo que logo no despregamento Maven ten que descargalas cando as precisa... Que haxa que facer 'jaris' para algo que me parece tan simple (e obvio) deixame claro por que non me levo nada ben coas tecnoloxías da órbita Java (stinks! <rant>e por que a xente que desenvolve Java deixa tanta indentación... *non o soporto* #TodoMal</rant>). [1] http://kameleon.gforge.inria.fr
O caso é que isto non che permitiría empregar os dous á vez.
Si, xa vin tamén que nos enlaces que me pasas as típicas solucións pasan por ir conmutando entre repos, algo que non me interesa e me complicaría a vida.
Na mesma resposta apunta a este outro fío [4] onde explica a razón de que só se permita un repositorio local.
Explicacións que non me convencen, nin as solucións propostas... En fin, de momento seguirei cos meus workarounds. Graciñas Alejo! E
Finalmente non me fixo falta o ficheiro. ) El jue., 29 ago. 2019 10:18, Emilio J. Padrón González <emilioj@gpul.org> escribió:
Ola Alejo,
Contéstoche agora mesmo por privado, que o ficheiro que adxunto [...]
Non recibín ningún correo privado teu ao respecto, só outro nesta rolda que paso a contestar agora :-?
Apertas e graciñas, E
_______________________________________________ xeral mailing list xeral@lists.gpul.org http://lists.gpul.org/cgi-bin/mailman/listinfo/xeral
participants (2)
-
Alejo Pacín Jul -
Emilio J. Padrón González