java项目启动报错

项目是否启动成功

如果是 SpringBoot 项目,日志搜索 关键字 JVM running

SpringBoot 项目,运行成功,会显示类似:

复制代码
Started Application in 2.184 seconds (JVM running for 3.412)

如果是其他项目,可以在启动项后面、接口层前面打印一些日志。

java项目启动,怎么看报错?

搜索关键词 Caused by 。错误原因有很多,但是 Caused by才是导致报错的根本原因。

如果没有找到,就搜一下 Exception。

如果百度搜不到,建议用谷歌。

stackoverflow是一个非常好用的网站,可以解决绝大多数的问题。

https://stackoverflow.com/

maven 配置

  • 本地仓库maven-repository放置在哪个文件下,私仓setting.xml 有没有配置.

  • 有没有设置maven profile,如果设置了,有没有选择正确的profile。

  • maven clean一下。

  • maven本地依赖冲突,版本冲突。

比如 maven项目/依赖的版本为 1.0版本,然后修改了 maven的pom.xml配置,版本修改为 2.0,

那么这时有可能本地仓库会同时存在 1.0版本和2.0版本的maven依赖。

可以先删除对应的本地仓库依赖。重新下载依赖。

  • maven本地仓库缺少jar包,或者jar包有多个版本,版本冲突了,都可能会报错。

  • 在IDEA的配置中,找到maven仓库(maven-repository) 的文件,去对应路径下看有没有对应的jar包。

IDEA的maven路径为: File --> Settings --> Build, Execution, Deployment --> Build Tools --> Maven

Maven报错:程序包不存在

构建项目,Maven编译报错:程序包不存在.

  • 就先 clean 一下,再重新编译。
  • 尝试刷新Maven依赖,重新引入依赖。

Maven报错:找不到符号

  • 如果报错的代码不多,可以直接找到IDEA中对应的文件 Ctrl+shif+F9 重新编译。

  • 如果报错的代码比较多,可以选中IDEA中对应的文件夹,对文件夹Ctrl+shif+F9 重新编译。

  • 尝试先 clean,然后 package,再重启 IDEA。

  • 还有一种情况,

    如果项目里有多个服务,A服务依赖了B服务,A服务启动报错:找不到符号,那有可能是A服务依赖的类在B服务中, 而B服务却没有install/deploy ,部署安装一下 B服务,再重新引入 A服务的maven依赖。

其他解决方法见:https://blog.csdn.net/Pan_peter/article/details/126774921

resource配置

项目启动,读取不到 resource下面的配置文件 ,或者是读取到错的配置文件 ,可以多看看Target里面的配置。

Target文件里面,放着java编译后的文件 ,就是class结尾的文件,还有其他的配置文件,比如properties文件 、xml文件 等。

检查Target的classes文件夹下是否有这个文件,把缺失的properties文件,直接复制到Target的classes文件夹下。

比如, class path resource [.properties] cannot be opened because it does not exist

详情见: https://www.cnblogs.com/expiator/p/15840985.html

配置中心

现在微服务流行,很多的配置都会放在配置中心。

有时项目启动不了,也可能是配置中心连接不了的原因。

项目启动报错 找不到SpringCloud Config 配置中心。详情见: https://www.cnblogs.com/expiator/p/17261961.html

多问问同事

如果一个项目,你一直启动不了,那说明这个项目是有问题的,不一定是你的问题。

如果少了哪些配置,那再怎么钻牛角尖也是没用的。

可以多问问同事。

每一个配置都对比一下,看看是少了哪个配置,哪些地方没配对。缺少的配置或文件,就复制的同事的。

相关推荐
lifallen2 分钟前
Paimon vs. HBase:全链路开销对比
java·大数据·数据结构·数据库·算法·flink·hbase
深栈解码42 分钟前
JMM深度解析(三) volatile实现机制详解
java·后端
liujing102329291 小时前
Day04_刷题niuke20250703
java·开发语言·算法
Brookty1 小时前
【MySQL】JDBC编程
java·数据库·后端·学习·mysql·jdbc
能工智人小辰1 小时前
二刷 苍穹外卖day10(含bug修改)
java·开发语言
DKPT1 小时前
Java设计模式之结构型模式(外观模式)介绍与说明
java·开发语言·笔记·学习·设计模式
缘来是庄1 小时前
设计模式之外观模式
java·设计模式·外观模式
知其然亦知其所以然2 小时前
JVM社招面试题:队列和栈是什么?有什么区别?我在面试现场讲了个故事…
java·后端·面试
harmful_sheep2 小时前
Spring 为何需要三级缓存解决循环依赖,而不是二级缓存
java·spring·缓存
星辰大海的精灵2 小时前
如何确保全球数据管道中的跨时区数据完整性和一致性
java·后端·架构