Cómo utilizar Gradle 'api' dependencia

Nir Brachel:

He intentado utilizar el 'api' dependencia palabra clave en mi proyecto, pero me dio este error diciendo que no puede encontrar el método API ()

Lo probé en un nuevo proyecto. esta es la imagen build.gradle:

plugins {
    id 'java'
}

group 'com.test'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    api group: 'com.google.guava', name: 'guava', version: '27.0.1-jre'
}

Estoy utilizando V4.9 Gradle. cuando corro acumulación Gradle me sale esto:

Could not find method api() for arguments [{group=com.google.guava, name=guava, version=27.0.1-jre}] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler

Si sustituyo 'api' con 'aplicación' todo funciona bien

¿Que me estoy perdiendo aqui? ¿Hay alguna configuración que hay que hacer?

M.Ricciuti:

La apiconfiguración viene del java-libraryplug-in, en su escritura de la estructura que acaba de aplicarse javaplugin. ver https://docs.gradle.org/current/userguide/java_library_plugin.html

La diferencia clave entre el estándar de Java plugin y el plugin Java Library es que este último se introduce el concepto de una API expuesta a los consumidores. Una biblioteca es un componente de Java destinada a ser consumida por los otros componentes. Es un caso de uso muy común en varios proyectos construye, sino también en cuanto se tiene dependencias externas.

Basta con aplicar el java-libraryplug-in (que se extiende javaplugin) y debería funcionar:

plugins {
    id 'java-library'
}

Supongo que te gusta

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