我尝试在我的项目中使用 'api' 依赖关键字,但是我收到这个错误,说它找不到方法 api()
我在一个新项目上尝试过。这是 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'
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 gradle V4.9。当我运行 gradle build 时,我得到了这个:
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
Run Code Online (Sandbox Code Playgroud)
如果我用“实现”替换“api”,一切正常
我在这里缺少什么?有什么需要做的设置吗?
该api
配置来自java-library
插件,在你刚才应用构建脚本java
插件。请参阅https://docs.gradle.org/current/userguide/java_library_plugin.html
标准 Java 插件和 Java 库插件之间的主要区别在于后者引入了向消费者公开的 API 的概念。库是供其他组件使用的 Java 组件。这是多项目构建中的一个非常常见的用例,但只要您有外部依赖项。
只需应用java-library
插件(扩展java
插件),它应该可以工作:
plugins {
id 'java-library'
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3934 次 |
最近记录: |