[英]javax.inject does not exists
为了调查javax.inject
问题,我在 IntelliJ IDEA 中创建了简约的 Gradle 项目。
它只包含Main.java
:
import javax.inject.Scope;
public class Main {
public static void main(String[] args) {}
}
构建.gradle
buildscript {
repositories {
mavenCentral()
}
}
apply plugin: 'java'
dependencies {
compileOnly 'javax.annotation:jsr250-api:1.0'
}
和 settings.gradle
rootProject.name = 'test'
构建我得到的项目
错误:(1, 20) java: 包 javax.inject 不存在
javax 有什么问题,为什么它不存在??
嗯,似乎问题不是专门针对 javax。 试图从 mavenCentral 添加不同的依赖项,没有人工作。 就像 Gradle 根本不加载外部库。
解决了
问题在于repositories
- 它必须在buildscript
之外。
只需带上javax.inject
依赖
implementation 'javax.inject:javax.inject:1'
仅编译依赖项与常规“编译”依赖项明显不同。 它们不包含在运行时类路径中并且是不可传递的,这意味着它们不包含在依赖项目中。 这在使用 Gradle 项目依赖项以及发布到 Maven 或 Ivy 存储库时都是如此。 在后一种情况下,仅编译依赖项会从已发布的元数据中简单地省略。
见https://docs.gradle.org/current/userguide/artifact_dependencies_tutorial.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.