【发布时间】:2019-07-01 11:11:01
【问题描述】:
我创建了一个 pom.xml,其中包含用于导入 JUnit 4 的 XML。我在 IntelliJ 中打开了项目。它似乎已经下载了外部依赖项,但是当我尝试在导入语句中使用依赖项时,IntelliJ 无法识别它。
这是我从一开始就采取的步骤:
- 我创建了一个 pom.xml。
- mkdir MAVEN
- mv pom.xml MAVEN
- 打开 IntelliJ
- 文件 > 打开 > pom.xml
- cd ~/MAVEN
- mkdir -p src/main/java
- 返回 IntelliJ
- 右键点击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 clean 和mvn 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