不使用Maven等构建工具在VSCode中使用JUnit5编译报错如何解决?
JUnit5手动编译报错解决方案
你遇到的error: package org.junit.jupiter.api does not exist报错是因为javac编译时没有加载JUnit5的依赖包,不用构建工具的情况下按以下步骤操作即可解决:
步骤1:准备依赖包
在项目根目录新建lib文件夹,前往Maven中央仓库下载以下Jar包并存入lib目录:
- junit-jupiter-api(JUnit5核心API包)
- junit-jupiter-params(参数化测试可选包,不需要可以不下)
- junit-jupiter-engine(JUnit5测试执行引擎)
- apiguardian-api(JUnit5依赖的注解包)
- junit-platform-console-standalone(可选,用于后续直接执行测试用例)
步骤2:执行编译命令
根据你的操作系统选择对应编译命令,在项目根目录下执行即可:
- Windows系统:
javac -cp "lib/*;src" -d bin src/AppTest.java - Linux/macOS系统:
javac -cp "lib/*:src" -d bin src/AppTest.java
命令参数说明:
-cp:指定类搜索路径,告知javac去哪里找代码中导入的第三方类和自定义业务类,lib/*代表加载lib目录下所有Jar包,src代表把源码目录加入类路径-d bin:指定编译生成的class文件输出到bin目录,匹配你的项目结构
附加:编译成功后运行测试
如果需要手动执行JUnit5测试用例,在项目根目录执行对应命令即可:
- Windows系统:
java -cp "lib/*;bin" org.junit.platform.console.ConsoleLauncher --scan-classpath - Linux/macOS系统:
java -cp "lib/*:bin" org.junit.platform.console.ConsoleLauncher --scan-classpath
注意事项
如果你的AppTest.java中声明了package包名,需要保证src下的目录结构和包名完全匹配,比如包名为org.example,则AppTest.java需要放在src/org/example目录下,否则会出现类找不到的编译错误。
内容的提问来源于stack exchange,提问作者David Maranga
相关产品推荐
相关产品推荐

