【工具】怎么在终端中启动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

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

相关推荐
Msshu1231 小时前
PD快充诱骗取电芯片工作原理,XSP17诱骗取电5V9V12V15V20V功能测试
spring boot·spring cloud·sentinel·java-rocketmq·java-zookeeper·java-consul·java-activemq
Shaoshing1 小时前
消息发送
java·开发语言
Code_Solitude1 小时前
c语言:指针(3)+冒泡排序
java·c语言·算法
乌暮1 小时前
从 `println` 到生产级日志:Spring Boot 日志体系完全指南
java·开发语言·jvm·spring boot·后端·学习·面试
脉动数据行情2 小时前
Java OkHttp 对接国际期货批量行情 SpringBoot 定时落库实践
java·spring boot·okhttp
Wang's Blog2 小时前
Java 项目实战: 交友项目 - 百度人脸识别:介绍
java·开发语言·交友
王中阳Go2 小时前
第一单交付完,我等 3 个月没复购:不是交付差,是这 3 件事没做
人工智能·后端·面试
打工仔折腾 AI2 小时前
260+异构同步链路实战:如何用语义化自动翻译破解CDC DDL同步痛点
人工智能·后端·python·自然语言处理·性能优化·langchain·机器翻译
松就是我902982 小时前
Agent工具调用实现原理
后端