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

多问问同事

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

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

可以多问问同事。

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

相关推荐
hhua012312 分钟前
理解“无界队列”与“有界队列”及其适用场景
java·队列
LZQqqqqo15 分钟前
C# 接口(interface 定义接口的关键字)
java·开发语言·c#
寒水馨22 分钟前
Java 9 新特性解析
java·开发语言·新特性·java9·jdk9
SimonKing28 分钟前
甩掉手动赋值!MyBatis-Plus 自动填充实战秘籍
java·后端·程序员
都叫我大帅哥1 小时前
Java PriorityQueue:小顶堆大智慧,优先队列全揭秘
java
都叫我大帅哥1 小时前
TOGAF实施治理阶段:你的项目守护神,还是架构警察?
java
吹个口哨写代码1 小时前
防止包含 XSS 攻击风险的内容提交成功
java·服务器·前端
hrrrrb2 小时前
【Spring Boot 快速入门】一、入门
java·spring boot·后端
超级小忍3 小时前
Spring Boot 配置文件常用配置属性详解(application.properties / application.yml)
java·spring boot·后端
麦兜*3 小时前
基于Spring Boot的审计日志自动化解决方案,结合SpEL表达式和AOP技术,实现操作轨迹自动记录,并满足GDPR合规要求
java·jvm·spring boot·后端·spring·spring cloud·maven