关于java题如何调试
java题一般题目就丢你一个jar包,很多时候还是用spring写的。但是如果我们尝试直接导入项目却不行,这是为什么呢?
我们正常的导入流程:
1.用IDEA打开一个新项目。
2.创建lib目录,把jar包丢进去,右键jar包,然后点击添加到库
。
3.在文件-项目结构-模块-依赖里为刚刚那个jar包打上勾,作用域选编译
,最后点击确定。
但是为什么SpringBoot这样做却没有用呢?
Spring Boot 可执行 JAR(包含 BOOT-INF/classes/
和 BOOT-INF/lib/
),直接导入 IDEA 会导致找不到类,因为 Spring Boot 的可执行 JAR 有特殊的类加载机制。必须通过 org.springframework.boot.loader.Launcher
启动(这就是 java -jar
能运行的原因)。这里提供一个可行的方案:
jar cvf your_test.jar -C BOOT-INF/classes/ .
解压jar包,进入其BOOT-INF/classes
,把里面的class文件重新打成一个新jar包,此时再用正常的导入流程即可正确导入。