Bre*_*uld 2 java junit importerror maven visual-studio-code
我正在使用 maven 在 Visual Studio 代码中开发一个 java 项目,目前正在尝试编写一个测试类。我已将 junit 作为依赖项添加到我的 pom.xml 文件中:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
目前,我的类是这样的:(Board 类没有问题,getOne() 返回 1)
import org.junit.Test;
public class BoardTest {
private Board board = new Board();
@Test
public void testOne() {
assert(board.getOne() == 1);
}
}
Run Code Online (Sandbox Code Playgroud)
最初,当我打开文件时,一切都很好,但是一旦我保存,vscode 就会生成 2 条错误消息,当我关闭并重新打开文件时,这两条错误消息都会消失,但在保存后再次出现:
“导入 org.junit 无法解析”
“测试无法解析为类型”
有趣的是,即使存在这些错误,vscode 也会为我提供有关导入和 @Test 标志的鼠标悬停信息,就好像它实际上已经正确解决了它们一样。我从命令行运行mvn install,vscode 甚至在项目的 java 依赖项部分列出了 junit-4.12.jar。
运行会mvn test产生预期的结果(测试通过),之后mvn package,从命令行运行项目的 .jar 文件运行项目没有问题。每当我尝试从 vscode 运行项目时,它都会通知我构建失败,即使当前不存在错误消息(即在我打开测试类之后但在我保存之前)。如果我告诉 vscode 继续,该项目再次运行良好。尝试从 vscode 运行测试的工作方式相同(我收到一条错误消息,但在我告诉 vscode 继续进行后,测试照常通过)。
关于什么可能导致这种情况的任何想法?以下是我正在使用的所有内容的当前版本:
JDK:openjdk v11.0.7
vscode:v1.45.1
Maven:Apache Maven v3.6.3
试试这个 VS Code 命令...
View -> Command Palette -> Java: Clean Java Language Server Workspace
Run Code Online (Sandbox Code Playgroud)
此命令解决了我的类似问题,即 VS Code 无法识别import org.json.*Gradle 项目的 .java 文件,即使 Gradle 可以成功构建和运行。这个 VS Code 命令与 IntelliJ 的类似File -> Invalidate Caches and Restart,因为它强制刷新 IDE 的可用令牌和标识符缓存。
旁注:
gradle build或mvn install),以便将所需的包下载到您的本地计算机,以便 VS Code 可以找到它们。| 归档时间: |
|
| 查看次数: |
4025 次 |
| 最近记录: |