javax.inject不存在

javax.inject不存在,java,intellij-idea,gradle,Java,Intellij Idea,Gradle,为了调查javax.inject的问题,我在IntelliJ IDEA中创建了极简Gradle项目 它只包含Main.java: import javax.inject.Scope; public class Main { public static void main(String[] args) {} } 格雷德尔先生 buildscript { repositories { mavenCentral() } } apply plugin: 'jav

为了调查javax.inject的问题,我在IntelliJ IDEA中创建了极简Gradle项目

它只包含
Main.java

import javax.inject.Scope;
public class Main {
    public static void main(String[] args) {}
}
格雷德尔先生

buildscript {
    repositories {
        mavenCentral()
    }
}
apply plugin: 'java'
dependencies {
    compileOnly 'javax.annotation:jsr250-api:1.0'
}
格雷德尔先生

rootProject.name = 'test'
建立我得到的项目

错误:(1,20)java:包javax.inject不存在

javax有什么问题,为什么它不存在

嗯,问题似乎不是javax的问题。试图从mavenCentral添加不同的依赖项,但没有人能够工作。像Gradle一样,根本不加载外部库

已解决


问题在于
存储库
-它必须在
构建脚本
之外

仅编译依赖项与常规的“编译”依赖项明显不同。它们不包含在运行时类路径中,并且是不可传递的,这意味着它们不包含在依赖项目中。在使用Gradle项目依赖项时,以及在发布到Maven或Ivy存储库时,都是如此。在后一种情况下,只需从发布的元数据中省略编译依赖项


请参见

仅编译依赖项与常规“编译”依赖项明显不同。它们不包含在运行时类路径中,并且是不可传递的,这意味着它们不包含在依赖项目中。在使用Gradle项目依赖项时,以及在发布到Maven或Ivy存储库时,都是如此。在后一种情况下,只需从发布的元数据中省略编译依赖项


请参见

只需带上
javax.inject
依赖项

compile group: 'javax.inject', name: 'javax.inject', version: '1'

只需带上
javax.inject
依赖项即可

compile group: 'javax.inject', name: 'javax.inject', version: '1'

尝试使用compile而不是compileOnly-仍然是相同的错误。编译组:“javax.inject”,名称:“javax.inject”,版本:“1”无法解析外部依赖项javax.inject:javax.inject:1,因为未定义存储库-gradle出现问题。尝试使用compile而不是compileOnly-仍然是相同的错误。编译组:'javax.inject',名称:'javax.inject',版本:'1'“无法解析外部依赖项javax.inject:javax.inject:1,因为未定义存储库”-gradle有点问题。我在gradle中使用
javax.inject
,也许会有帮助?我在gradle中使用
javax.inject
,也许会有帮助?