【问题标题】:Can't use external dependency (installed by Maven) in IntelliJ Ultimate无法在 IntelliJ Ultimate 中使用外部依赖项(由 Maven 安装)
【发布时间】:2019-07-01 11:11:01
【问题描述】:

我创建了一个 pom.xml,其中包含用于导入 JUnit 4 的 XML。我在 IntelliJ 中打开了项目。它似乎已经下载了外部依赖项,但是当我尝试在导入语句中使用依赖项时,IntelliJ 无法识别它。

这是我从一开始就采取的步骤:

  1. 我创建了一个 pom.xml。
  2. mkdir MAVEN
  3. mv pom.xml MAVEN
  4. 打开 IntelliJ
  5. 文件 > 打开 > pom.xml
  6. cd ~/MAVEN
  7. mkdir -p src/main/java
  8. 返回 IntelliJ
  9. 右键点击src -> 将目录标记为root

我相信 Maven 正确导入了所有内容,因为我可以在项目目录中看到 JUnit 作为依赖项:https://imgur.com/TdJq7PK

这是我的 pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.company.org</groupId>
    <artifactId>mvn-prac</atifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

    </dependencies>
</project>

当我尝试使用 JUnit 中的公共类(例如 import org.junit.Test;)时,IntelliJ 无法识别该符号。

我在项目的根目录中尝试了mvn cleanmvn install,但似乎都没有帮助。

感谢您的帮助。

【问题讨论】:

  • 您是否在 IntelliJ 中为您的项目设置了合适的 JDK?
  • 删除 .idea 目录并改用 Import Project。如果导入未正确设置根目录或未配置依赖项,请参阅 stackoverflow.com/a/42427510/104891。它应该为 Maven 项目自动执行。您的依赖项具有 test 范围,请确保测试位于 src/test/java 中,以便他们可以看到此依赖项。
  • @CrazyCoder 整个问题是因为测试范围。我刚刚删除了那条线,它把所有东西都捡起来了。我在 apache 的网站上使用 maven 文档,甚至懒得关心 实际做了什么。谢谢。

标签: java maven intellij-idea pom.xml


【解决方案1】:

如果您使用 test 范围,JUnit 依赖项将仅适用于位于 src/test/java 中的测试,但不适用于 src/main/java 中的类。

要么删除 pom.xml 中的 &lt;scope&gt;test&lt;/scope&gt; 行,要么将您的测试移至正确的测试源根目录。

【讨论】:

    猜你喜欢
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 2021-04-16
    • 2021-02-20
    • 1970-01-01
    • 2022-08-11
    • 2018-02-14
    相关资源
    最近更新 更多