问题描述
我尝试在项目中使用'api'依赖关键字,但出现此错误,提示它找不到方法api()
I tried using the 'api' dependency keyword in my project , but I got this error saying it cannot find method api()
我在一个新项目上尝试过.这是build.gradle文件:
I tried it on a new project. this is the build.gradle file:
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'
}
我正在使用gradle V4.9.当我运行gradle build时,我得到了:
I am using gradle V4.9.when I run gradle build I get this:
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
如果我将"api"替换为"implementation",则一切正常
If I replace 'api' with 'implementation' everything works fine
我在这里想念什么?有什么需要做的设置吗?
What am I missing here?Is there any setting that needs to be done?
推荐答案
api
配置来自java-library
插件,在您的构建脚本中您刚刚应用了java
插件.参见 https://docs.gradle.org/current/userguide/java_library_plugin.html
The api
configuration comes from the java-library
plugin, in your build script you have just applied java
plugin. See https://docs.gradle.org/current/userguide/java_library_plugin.html
只需应用java-library
插件(扩展了java
插件),它便会起作用:
Just apply the java-library
plugin (which extends java
plugin) and it should work:
plugins {
id 'java-library'
}
这篇关于如何使用gradle'api'依赖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!