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?
La api
configuración viene del java-library
plug-in, en su escritura de la estructura que acaba de aplicarse java
plugin. 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-library
plug-in (que se extiende java
plugin) y debería funcionar:
plugins {
id 'java-library'
}