Ale*_*xey 8 java intellij-idea gradle
为了调查问题,javax.inject我在 IntelliJ IDEA 中创建了简约的 Gradle 项目。
它仅包含Main.java:
import javax.inject.Scope;
public class Main {
public static void main(String[] args) {}
}
Run Code Online (Sandbox Code Playgroud)
构建.gradle
buildscript {
repositories {
mavenCentral()
}
}
apply plugin: 'java'
dependencies {
compileOnly 'javax.annotation:jsr250-api:1.0'
}
Run Code Online (Sandbox Code Playgroud)
和设置.gradle
rootProject.name = 'test'
Run Code Online (Sandbox Code Playgroud)
构建我得到的项目
错误:(1, 20) java: 包 javax.inject 不存在
javax出了什么问题,为什么它不存在?
嗯,看来问题不在于javax。尝试从 mavenCentral 添加不同的依赖项,但没有人工作。就像 Gradle 根本不加载外部库一样。
解决了
问题在于repositories- 它必须在buildscript.
Dan*_*aub 13
只需带上javax.inject依赖即可
implementation 'javax.inject:javax.inject:1'
Run Code Online (Sandbox Code Playgroud)
小智 3
仅编译依赖项与常规 \xe2\x80\x9ccompile\xe2\x80\x9d 依赖项明显不同。它们不包含在运行时类路径中并且是不可传递的,这意味着它们不包含在依赖项目中。使用 Gradle 项目依赖项以及发布到 Maven 或 Ivy 存储库时都是如此。在后一种情况下,仅从已发布的元数据中省略仅编译依赖项。
\n\n请参阅https://docs.gradle.org/current/userguide/artifact_dependency_tutorial.html
\n| 归档时间: |
|
| 查看次数: |
16108 次 |
| 最近记录: |