【工具】怎么在终端中启动springboot项目?

文章目录

Mac 上开发 Spring Boot + Maven 项目,怎么在终端中启动springboot项目?

1.打开终端,进入项目路径

powershell 复制代码
cd ~/devcodesNew/internet-cafe-billing-system

2.启动springboot项目

如果你的 Spring Boot 启动类位于 Maven 子模块 server 中,可以在项目根目录执行:

powershell 复制代码
./mvnw -pl server spring-boot:run

如果项目没有 Maven Wrapper(即没有 mvnw 文件),可以使用已安装的 Maven:

powershell 复制代码
mvn -pl server spring-boot:run

这里的 server 是模块名示例。如果你的模块名称不同,需要替换成实际的模块名。

3.启动失败

powershell 复制代码
lishuang@lishuangs-MacBook-Pro \~ % mvn -pl CafeServerApplication spring-boot:run
[**INFO**] Scanning for projects...
[**ERROR**] [ERROR] Could not find the selected project in the reactor: CafeServerApplication @ 
[**ERROR**] Could not find the selected project in the reactor: CafeServerApplication -> **[Help 1]**
[**ERROR**] 
[**ERROR**] To see the full stack trace of the errors, re-run Maven with the **-e** switch.
[**ERROR**] Re-run Maven using the **-X** switch to enable full debug logging.
[**ERROR**] 
[**ERROR**] For more information about the errors and possible solutions, please read the following articles:
[**ERROR**] **[Help 1]** [http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException](http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException)

这个报错的原因是:你把 Spring Boot 启动类的名称 CafeServerApplication 当成了 Maven 模块名。

Maven 的 -pl 参数用于指定项目中的模块(Project List),不是指定 Java 启动类。名字放错位置了,Maven 就找不到它要构建的项目。

第一步:先理解这三个名称的区别

名称 作用 示例
Maven 模块名 指定要运行哪个子项目 server 或 cafe-server
Spring Boot 启动类 Java 程序的入口 CafeServerApplication
Maven 命令 启动指定模块 mvn -pl 模块名 spring-boot:run

第二步:找到真正的 Maven 模块名

你现在的终端显示:

复制代码
lishuang@lishuangs-MacBook-Pro ~ %

其中 ~ 表示你当前位于用户主目录,还没有进入项目目录。

先进入你的项目根目录。假设项目仍然在之前使用的路径:

复制代码
cd ~/devcodesNew/internet-cafe-billing-system

然后执行:

复制代码
mvn -q -N help:evaluate -Dexpression=project.artifactId -DforceStdout

这条命令会查看当前根项目的 artifactId,但它不一定就是你要启动的子模块名。

接下来执行:

复制代码
grep -n '<module>' pom.xml

它会列出根 pom.xml 中声明的子模块,例如:

复制代码
<module>cafe-server</module>
<module>cafe-common</module>

这里的 cafe-server 才是可以传给 -pl 的模块路径示例。

第三步:启动 Spring Boot

假设查到模块名是 cafe-server,执行:

复制代码
mvn -pl cafe-server spring-boot:run

如果该模块依赖同一个多模块项目里的其他模块,可以尝试:

复制代码
mvn -pl cafe-server -am spring-boot:run

-am 表示同时构建所选模块依赖的其他项目。

注意:以上 cafe-server 只是示例,请使用你实际查到的模块名。

第四步:别忘了之前设置的环境变量

如果你之前已经在当前终端执行了:

复制代码
export DB_URL='jdbc:mysql://localhost:3306/cafe'
export DB_USERNAME='你的MySQL用户名'
export DB_PASSWORD='你的MySQL密码'

那么继续在这个终端中执行启动命令即可,不需要重新设置。

你现在先执行下面两条命令,把输出贴给我:

复制代码
cd ~/devcodesNew/internet-cafe-billing-system
grep -n '<module>' pom.xml

我就能根据你项目里实际声明的模块名,告诉你下一条准确的启动命令,不用再猜名字。

相关推荐
付威202310 分钟前
target 目录越来越大,Rust 项目该怎么清理
后端
技录局21 分钟前
Kafka 深度原理分析:从消息流到分布式日志
后端
大数据技术派27 分钟前
我用AI写代码,做了3个小玩意儿
后端·微信小程序
yeccheng29 分钟前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
这个昵称不容易41 分钟前
SpringBoot 读书笔记共享平台部署实战:97 个 Java 文件 / 113 个接口 / 10 张表
java·springboot·毕设
爱上咖啡香2 小时前
我给 Laravel AI 写了个千问驱动,文本、语音、图像、视频全打通
后端
杨文说AI与数字化2 小时前
票种表重构复盘:把填数字改成规则可执行版本
后端
回家路上绕了弯2 小时前
什么是 Agent as a Service?把 AI Agent 变成可调用的服务
后端
金銀銅鐵3 小时前
一个 Java 文件实现《孫子兵法·始計篇》中英对照阅读器
java·后端·ai编程
DevOpenClub3 小时前
高考教育信息问答 API:会话参数、资料引用与流式响应
java·数据库·高考