¿Cómo acceder a las dependencias anidadas en tiempo de compilación?

Mikhail Geyer:

He desarrollado dos librerías: cms-liby common-lib.

cms-libdepende de common-libcomo este

# gradle.build of cms-lib

dependencies {
  implementation 'com.example.shared:common-lib:1.0-SNAPSHOT'
}

common-lib contiene algunas clases públicas - Fe com.example.shared.common.Content.java

La idea es que cms-libes para uso del cliente de terceros (que deben declarar en sus dependencias Gradle), mientras que common-libdebe ser ocultado por parte del cliente (el cliente no tiene que declarar sus dependencias Gradle). Por lo que sólo declaran solamente cms-lib- como esto:

# A
# build.gradle of a consumer of `cms-lib`

dependencies {
  implementation 'com.example.shared:cms-lib:1.0-SNAPSHOT'
}

Eso significa que common-libse anida la dependencia de cms-lib.

Espero que las clases públicas de la dependencia anidada common-lib, se puede acceder por un cliente de cms-lib. Pero resulta que no lo hacen accesible como me sale el error de compilación:

> Task :compileJava FAILED
C:\temp\lib-test\src\main\java\consumer\Controller.java:3: error: package com.example.shared.common does not exist
import com.example.shared.common.Content;

Parece ser que en este caso, las clases públicas de support-libno está disponible en tiempo de compilación (probablemente sólo en tiempo de ejecución).

¿Cómo acceder a las dependencias anidadas en tiempo de compilación?

Francisco Mateo :

Usted tendrá que aplicar el java-libraryal cms-libproyecto. A continuación, tendrá que definir common-liben la apiconfiguración con el fin de que esté disponible en la ruta de clase de un consumidor decms-lib

Puede leer más sobre apivs implementationen la documentación para el plug-in biblioteca de Java .

# gradle.build of cms-lib

dependencies {
  api 'com.example.shared:common-lib:1.0-SNAPSHOT'
}


# A
# build.gradle of a consumer of `cms-lib`

dependencies {
  implementation 'com.example.shared:cms-lib:1.0-SNAPSHOT'
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=365731&siteId=1
Recomendado
Clasificación