Como usar Gradle 'api' dependência

Nir Brachel:

Eu tentei usar o 'api' dependência palavra-chave no meu projeto, mas eu tenho esse erro dizendo que não pode encontrar o método api ()

Eu tentei-o em um novo projeto. este é o arquivo 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'
}

Eu estou usando V4.9 Gradle. quando eu executar construção Gradle fico com esta:

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

Se eu substituir 'api' com a 'implementação' tudo funciona bem

O que estou perdendo aqui? Existe alguma configuração que precisa ser feito?

M.Ricciuti:

A apiconfiguração vem do java-libraryplugin, em seu script de construção que acabou aplicada javaplugin. veja https://docs.gradle.org/current/userguide/java_library_plugin.html

A principal diferença entre o padrão Java plug-in e o plugin Biblioteca Java é que este último introduz o conceito de uma API exposta aos consumidores. Uma biblioteca é um componente Java feitos para serem consumidos por outros componentes. É um caso de uso muito comum em multi-projecto baseia-se, mas também assim que você tem dependências externas.

Basta aplicar o java-libraryplug-in (que estende javaplugin) e ele deve funcionar:

plugins {
    id 'java-library'
}

Acho que você gosta

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