You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EC2部署Spring Boot项目编译报错:依赖包不存在求助

解决方案:EC2上Spring Boot项目依赖加载失败问题

核心问题:直接用javac编译是错误操作

Spring Boot项目依赖大量Spring及第三方库,javac是基础编译工具,不会自动从Maven仓库拉取依赖并加入类路径,所以必然出现找不到包的错误,必须用Maven来管理构建流程。


1. 在EC2上通过Maven构建项目

  • 安装Maven:根据EC2的Linux发行版选择命令:
    • Ubuntu/Debian:sudo apt update && sudo apt install maven
    • CentOS/RHEL:sudo yum install maven
  • 进入项目根目录(确保当前目录下有pom.xml)
  • 执行构建命令:mvn clean package
    这个命令会自动下载所有依赖、编译项目代码、生成包含所有依赖的可执行JAR包(输出在target目录下)
  • 运行项目:java -jar target/[你的项目名称]-[版本号].jar(替换成实际的JAR文件名)

2. 修正pom.xml的依赖配置

你的pom.xml中手动指定了spring-data-mongodb的版本,这会和Spring Boot starter的版本管理冲突,建议删除这个单独的依赖,只保留spring-boot-starter-data-mongodb即可,Spring Boot会自动匹配兼容的版本:

<!-- 移除这个手动指定版本的依赖 -->
<!--
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-mongodb</artifactId>
    <version>4.0.2</version>
</dependency>
-->

3. 确保EC2的Java版本与项目一致

  • 执行java -version和javac -version,确认EC2上的Java版本和pom.xml中java.version配置的版本完全一致(比如都是17)
  • 如果版本不匹配,用update-alternatives --config java命令切换到对应版本

4. 备选方案:本地构建好JAR再上传

如果EC2网络较差或不想安装Maven,可以在本地IntelliJ中完成构建:

  • 本地执行mvn clean package,生成target目录下的JAR包
  • 用scp上传到EC2:scp target/[你的项目].jar ec2-user@[EC2公网IP]:/home/ec2-user/
  • 登录EC2后运行:java -jar [你的项目].jar

内容的提问来源于stack exchange,提问作者csRainiercs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 04:02:52