with warning update tools studio replaced releases org has configurar compile been and maven-2 jar repository install gradle

maven 2 - warning - Gradle: haga que un jar de terceros esté disponible para el repositorio de gradle local



update gradle (6)

Creo que algo como esto debería funcionar:

dependencies { files(''yourfile.jar'') }

¿Funciona para ti?

actualmente, estoy probando Gradle como una alternativa a Maven. En mis proyectos, hay algunos frascos de terceros, que no están disponibles en ningún repositorio (Maven). Mi problema ahora es cómo puedo administrarlo para instalar estos archivos jar en mi repositorio local de .gradle. (Si es posible, no quiero usar el repositorio local de Maven, porque Gradle debería ejecutarse de forma independiente.) En este momento, recibo muchas excepciones debido a que faltan frascos. En Maven, es bastante simple ejecutando el comando de instalación. Sin embargo, mi búsqueda en Google de algo similar al comando de instalación de Maven no fue exitosa. ¿Alguien tiene una idea?


En resumen: implementar en el administrador de repositorios. Puede local, en la LAN de la compañía.

Una forma totalmente diferente de pensar sobre este tipo de problema, especialmente si ocurre a menudo, es usar un administrador de repositorio. Existen algunas excelentes opciones de código abierto como Artifactory, Nexus o Archiva.

Supongamos que tiene un archivo jar de origen dudoso que debe incluirse en su compilación hasta que tenga la oportunidad de refactorizarlo. Un administrador de repositorio le permite cargar el archivo en su propio repositorio como, por el bien de este ejemplo, dudoso-origen-DESCONOCIDO.jar

Entonces tu build.gradle se vería así:

repositories { mavenRepo urls: "http://your.own.repository/url"; } dependencies { compile "dubious:origin:UNKNOWN"; }

El uso de un administrador de repositorios como el almacenamiento en memoria caché de artefactos remotos, la eliminación de artefactos de scm, la puesta en marcha de versiones, permisos de usuario más detallados, etc., tienen muchas otras ventajas.

En el lado negativo, estaría agregando un servidor que lleva algunos gastos generales de mantenimiento para mantener sus compilaciones en ejecución.

Depende del tamaño de tu proyecto, supongo.


Opción usada (1) de la publicación de Adam Murdoch (ya enlazada arriba: http://gradle.1045684.n5.nabble.com/Gradle-Make-a-3rd-party-jar-available-to-local-gradle-repository-td1431953.html ) con gradle-1.3 y funciona muy bien!

Aquí su comentario:

  1. Copie los archivos jar a un directorio local y use un repositorio flatDir () para usarlos desde allí. Por ejemplo, puede copiarlos a $ projectDir / lib y en su archivo de compilación hacer:

repositorios {flatDir (dirs: ''lib'')}

Los archivos en el directorio lib deben seguir el esquema de nombres: nombre-versión-clasificador.extensión, donde la versión y el clasificador son opcionales. Entonces, por ejemplo, podrías llamarlos groovy-1.7.0.jar o incluso groovy.jar

Entonces, solo declaras las dependencias como normales:

dependencias {compilar ''groovy: groovy: 1.7.0''}

Hay un poco más de detalles en un repositorio de flatDir () en: http://gradle.org/0.9-preview-1/docs/userguide/dependency_management.html#sec:flat_dir_resolver

  1. Similar a lo anterior, pero usando un resolvedor ivy en lugar de flatDir (). Esto es más o menos lo mismo que el anterior, pero permite muchas más opciones en cuanto a nombres y ubicaciones.

Hay algunos detalles en: http://gradle.org/0.9-preview-1/docs/userguide/dependency_management.html#sub:more_about_ivy_resolvers

  1. No te molestes en declarar las dependencias. Simplemente copie los archivos jar en un directorio local en algún lugar y agregue una dependencia de archivos. Por ejemplo, si los archivos jar están en $ projectDir / lib:

dependencias {compilar fileTree (''lib'') // esto incluye todos los archivos en ''lib'' en compilación classpath}

Más detalles en: http://gradle.org/0.9-preview-1/docs/userguide/dependency_management.html#N12EAD

  1. Utilice maven install para instalar las dependencias en su caché Maven local, y use Maven Cache como repositorio:

repositorios {mavenRepo (urls: new File (System.properties [''user.home''], ''.m2 / repository''). toURI (). toURL ())}


Tal vez me falta algo de mi lectura de su pregunta, suponiendo que su repositorio de gradle es del tipo flatDir, debería poder copiar los archivos allí en el formato myjar-1.0.jar y resolverlos como myjar de la versión 1.0.

No estoy seguro de por qué debería ser necesario que Gradle ejecute maven para acceder a un repositorio Maven local. Puede definir los repositorios maven y resolver las dependencias. Puede usar la gradle upload para enviar los gradle upload maven locales o remotos si es necesario. En ese caso, ejecutará maven.


Una respuesta más completa fue dada en una lista de correo por Adam Murdoch en http://gradle.1045684.n5.nabble.com/Gradle-Make-a-3rd-party-jar-available-to-local-gradle-repository-td1431953.html

A partir de abril de 2010, no había una forma sencilla de agregar un archivo jar nuevo a su repositorio ~ / .gradle. Actualmente investigando si esto ha cambiado.

A partir de octubre de 2014, este sigue siendo el caso, ya que gradle realiza una suma de comprobación md5 de su jarfile, no puede simplemente descargarlo y ponerlo en un directorio bajo .gradle / caches, y gradle no, en la medida de lo posible. Puedo decir que tengo tareas que te permiten tomar un archivo local y enviar ese archivo a su caché.


puede incluir las dependencias de su sistema de archivos JAR como:

dependencies { runtime files(''libs/a.jar'', ''libs/b.jar'') runtime fileTree(dir: ''libs'', include: ''*.jar'') }

puede cambiar el tiempo de ejecución para compilar / testCompile / etc.