plugin para intellij idea how configurar java intellij-idea gradle

java - para - IntelliJ gradle añadir la dependencia del módulo



groovy sdk intellij (3)

Utilizando IntelliJ 2016.2.
Utilizando Gradle 2.14.1

Tengo 2 proyectos, cada uno con sus propios archivos build.gradle y estructuras de directorios independientes:

myLib (meant to be jarred and used by others) - build.gradle - settings.gradle - src/main/java/... sandbox (spring boot web app) - build.gradle - settings.gradle - src/main/java/... - src/main/resources/...

Con suerte, te haces una idea. Dentro de IntelliJ, tengo la siguiente estructura de módulo, al mismo nivel (sin subproyectos):

- myLib - sandbox

Solicitud simple ... Quiero usar myLib dentro de la aplicación de sandbox . Quiero que ambos módulos estén en el mismo proyecto para poder desarrollar ambos.

He intentado agregar una dependencia de módulo a sandbox para myLib dentro de IntelliJ. No dados. He intentado agregar una referencia de jarra, no dados.

Creo que necesito agregar una dependencia en el archivo build.gradle pero no puedo entender cómo. He intentado compile files ''<path to myLib.jar>'' , etc. Sin dados.


Módulos locales

Este es un patrón seguido por la mayoría de los proyectos de Gradle donde hay una biblioteca, luego una aplicación de ejemplo que usa esa biblioteca

- module/ - build.gradle - src/main/java - library/ - build.gradle - src/main/java - settings.gradle - build.gradle

En esa settings.gradle nivel superior.

include '':library'', '':module''

Y en el module/build.gradle , compilas ese proyecto incluido

dependencies { compile project('':library'') }

Básicamente, el build.gradle nivel build.gradle es un contenedor para todas las configuraciones comunes de los subproyectos y variables. Por ejemplo, se usa más comúnmente para una sección de repositories { } para las URL de Maven, por ejemplo. Todos los detalles sobre eso están en Gradle - Construcciones multiproyecto

Módulos Remotos

Lo anterior está bien para trabajar localmente, pero digamos que desea compartir su repositorio con muchos otros desarrolladores sin hacer que descarguen código fuente adicional. Entonces publicarías las otras bibliotecas en un servidor remoto.

Si sus proyectos son públicos en GitHub , use un servicio como jitpack.io . También puede configurar una cuenta en Bintray OSS o Maven Central para que sus bibliotecas estén disponibles como la mayoría de las demás.

Si sus proyectos son privados dentro de su empresa , necesitará algún servidor de tipo Maven, ya sea un servidor web genérico, o Nexus o Artifactory, puede agregarlo con una adición al bloque de repositorios.

repositories { maven { url "http://some.maven.site/" } }

Luego agrega las fuentes de compile o implementation , como de costumbre.


Finalmente, Gradle 3.1 ha solucionado este problema. Las compilaciones compuestas ahora son compatibles de forma nativa. Más here . En resumen, agregue esta línea a la configuración de sandbox.

includeBuild ''<PATH>/myLib''

Si no puede actualizar Gradle, entonces la única esperanza para usted es publicar el artefacto mylib en el repositorio local de Maven y agregar mavenLocal () a sandbox / build.gradle.