Gradle不会在Intellij IDEA中导入库

wmvff8tz  于 2023-03-18  发布在  IntelliJ IDEA
关注(0)|答案(1)|浏览(207)

我正在学习如何在Intellij IDEA中使用Gradle自动导入必要的库(在Java项目中)。我在Gradle上创建了新的干净项目,在文件“build. gradle”中添加了依赖项,在文件“Main.java”中添加了导入,但库未导入,并且发生了错误。我希望Gradle应该自动从Maven Repository加载库,但没有发生。
我在Intellij IDEA中创建了一个新项目(file/new/project -在Java上,Gradle和"Gradle DSL“中的”Groovy“)。在文件”gradle-wrapper.properties“中,我成功地将Gradle更新到了版本8.0.2(因为默认情况下,IDEA使用第7版,然后指出它与JDK 19不兼容)。
然后,我将依赖项添加到'build.gradle'文件中:

repositories {
    mavenCentral()
}
dependencies {
    testImplementation (
            "com.codeborne:selenide:6.3.5",
            "org.junit.jupiter:junit-jupiter:5.8.2")
}

并将导入添加到“Main.java”中:

import org.junit.jupiter.api.Test;
import static com.codeborne.selenide.Condition.text;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.open;

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello world!");
        Selenide.open("https://www.google.com/");
    }
}

我点击“重新加载所有Gradle项目”,它说:此版本中使用了弃用的Gradle功能,因此与Gradle 9.0不兼容。
但是导入没有发生,我无法运行'Main.java'。当我点击“Build project”时,它显示:

C:\IT\Projects\CheckingGradle\src\main\java\org\example\Main.java:2: error: package org.junit.jupiter.api does not exist
import org.junit.jupiter.api.Test;

failed
:compileJava
Main.java
package org.junit.jupiter.api does not exist
package com.codeborne.selenide does not exist
and so on

我预计Gradle应该从Maven Repository加载必要的库,但没有实现。
Github上的项目:https://github.com/Anton248/CheckingGradle
当我在不使用Gradle的情况下创建项目并手动添加库时,一切正常(https://github.com/Anton248/Study2)。

tvmytwxo

tvmytwxo1#

您已将依赖项指定为测试依赖项(这些库通常是测试依赖项),但尝试使用这些库的代码位于 main 中。测试和其他使用测试依赖项的代码应放在src/test/java中,而不是放在src/main/java中。
或者,您需要将依赖项声明为普通(main)依赖项(例如,使用implementation而不是testImplementation)。

相关问题