2020
2121< script class ="next-config " data-name ="main " type ="application/json "> { "hostname" :"simuleite.github.io" , "root" :"/" , "images" :"/images" , "scheme" :"Muse" , "darkmode" :false , "version" :"8.21.0" , "exturl" :false , "sidebar" :{ "position" :"left" , "width_expanded" :320 , "width_dual_column" :240 , "display" :"post" , "padding" :18 , "offset" :12 } , "hljswrap" :true , "copycode" :{ "enable" :false , "style" :null } , "fold" :{ "enable" :false , "height" :500 } , "bookmark" :{ "enable" :false , "color" :"#222" , "save" :"auto" } , "mediumzoom" :false , "lazyload" :false , "pangu" :false , "comments" :{ "style" :"tabs" , "active" :null , "storage" :true , "lazyload" :false , "nav" :null } , "stickytabs" :false , "motion" :{ "enable" :true , "async" :false , "transition" :{ "menu_item" :"fadeInDown" , "post_block" :"fadeIn" , "post_header" :"fadeInDown" , "post_body" :"fadeInDown" , "coll_header" :"fadeInLeft" , "sidebar" :"fadeInUp" } } , "i18n" :{ "placeholder" :"搜索..." , "empty" :"没有找到任何搜索结果:${query}" , "hits_time" :"找到 ${hits} 个搜索结果(用时 ${time} 毫秒)" , "hits" :"找到 ${hits} 个搜索结果" } , "path" :"/search.xml" , "localsearch" :{ "enable" :true , "top_n_per_article" :1 , "unescape" :false , "preload" :false } } </ script > < script src ="/js/config.js "> </ script >
2222
23- < meta name ="description " content ="微服务 非单体项目,可以用下面的脚本启动微服务。 #!/bin/bash# 获取用户输入的服务名称SERVICE_NAME =$1# 检查是否输入参数if [ -z "$SERVICE_NAME" ]; then echo "Usage: ./run.sh <servicename|all>" exit 1fi# 定义运行单个服务的函数run ">
23+ < meta name ="description " content ="微服务 非单体项目,可以用下面的脚本启动微服务。 #!/bin/bash# 获取服务名称和额外参数SERVICE_NAME =$1shift # 移除第一个参数(服务名),将剩余参数保存到 $@EXTRA_ARGS="$@"# 检查是否输入服务名称if [ -z "$SERVICE_NAME" ]; then echo "Usage: ./ru ">
2424< meta property ="og:type " content ="article ">
2525< meta property ="og:title " content ="Maven使用 ">
2626< meta property ="og:url " content ="http://simuleite.github.io/ComputerScience/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/Maven%E4%BD%BF%E7%94%A8/index.html ">
2727< meta property ="og:site_name " content ="SMULET's BLOG ">
28- < meta property ="og:description " content ="微服务 非单体项目,可以用下面的脚本启动微服务。 #!/bin/bash# 获取用户输入的服务名称SERVICE_NAME =$1# 检查是否输入参数if [ -z "$SERVICE_NAME" ]; then echo "Usage: ./run.sh <servicename|all>" exit 1fi# 定义运行单个服务的函数run ">
28+ < meta property ="og:description " content ="微服务 非单体项目,可以用下面的脚本启动微服务。 #!/bin/bash# 获取服务名称和额外参数SERVICE_NAME =$1shift # 移除第一个参数(服务名),将剩余参数保存到 $@EXTRA_ARGS="$@"# 检查是否输入服务名称if [ -z "$SERVICE_NAME" ]; then echo "Usage: ./ru ">
2929< meta property ="og:locale " content ="zh_CN ">
3030< meta property ="article:published_time " content ="2025-01-15T16:00:00.000Z ">
31- < meta property ="article:modified_time " content ="2025-01-16T09:57:31.742Z ">
31+ < meta property ="article:modified_time " content ="2025-03-23T07:32:12.320Z ">
3232< meta property ="article:author " content ="SIMULEITE ">
3333< meta property ="article:tag " content ="基本操作 ">
3434< meta name ="twitter:card " content ="summary ">
@@ -215,9 +215,15 @@ <h1 class="post-title" itemprop="name headline">
215215 < i class ="far fa-calendar "> </ i >
216216 </ span >
217217 < span class ="post-meta-item-text "> 发表于</ span >
218-
219218
220- < time title ="创建时间:2025-01-16 00:00:00 / 修改时间:17:57:31 " itemprop ="dateCreated datePublished " datetime ="2025-01-16T00:00:00+08:00 "> 2025-01-16</ time >
219+ < time title ="创建时间:2025-01-16 00:00:00 " itemprop ="dateCreated datePublished " datetime ="2025-01-16T00:00:00+08:00 "> 2025-01-16</ time >
220+ </ span >
221+ < span class ="post-meta-item ">
222+ < span class ="post-meta-item-icon ">
223+ < i class ="far fa-calendar-check "> </ i >
224+ </ span >
225+ < span class ="post-meta-item-text "> 更新于</ span >
226+ < time title ="修改时间:2025-03-23 15:32:12 " itemprop ="dateModified " datetime ="2025-03-23T15:32:12+08:00 "> 2025-03-23</ time >
221227 </ span >
222228
223229
@@ -231,7 +237,11 @@ <h1 class="post-title" itemprop="name headline">
231237
232238 < div class ="post-body " itemprop ="articleBody "> < h1 id ="微服务 "> < a class ="markdownIt-Anchor " href ="#微服务 "> </ a > 微服务</ h1 >
233239< p > 非单体项目,可以用下面的脚本启动微服务。</ p >
234- < figure class ="highlight shell "> < table > < tr > < td class ="code "> < pre > < span class ="line "> < span class ="meta prompt_ "> #</ span > < span class ="language-bash "> !/bin/bash</ span > </ span > < br > < span class ="line "> < span class ="meta prompt_ "> </ span > </ span > < br > < span class ="line "> < span class ="meta prompt_ "> # </ span > < span class ="language-bash "> 获取用户输入的服务名称</ span > </ span > < br > < span class ="line "> SERVICE_NAME=$1</ span > < br > < span class ="line "> < span class ="meta prompt_ "> </ span > </ span > < br > < span class ="line "> < span class ="meta prompt_ "> # </ span > < span class ="language-bash "> 检查是否输入参数</ span > </ span > < br > < span class ="line "> if [ -z "$SERVICE_NAME" ]; then</ span > < br > < span class ="line "> echo "Usage: ./run.sh <servicename|all>"</ span > < br > < span class ="line "> exit 1</ span > < br > < span class ="line "> fi</ span > < br > < span class ="line "> < span class ="meta prompt_ "> </ span > </ span > < br > < span class ="line "> < span class ="meta prompt_ "> # </ span > < span class ="language-bash "> 定义运行单个服务的函数</ span > </ span > < br > < span class ="line "> run_service() {</ span > < br > < span class ="line "> local service=$1</ span > < br > < span class ="line "> echo "Building and running $service..."</ span > < br > < span class ="line "> mvn clean install -pl $service -am</ span > < br > < span class ="line "> mvn spring-boot:run -pl $service</ span > < br > < span class ="line "> }</ span > < br > < span class ="line "> < span class ="meta prompt_ "> </ span > </ span > < br > < span class ="line "> < span class ="meta prompt_ "> # </ span > < span class ="language-bash "> 如果输入 < span class ="string "> "all"</ span > ,运行所有服务</ span > </ span > < br > < span class ="line "> if [ "$SERVICE_NAME" == "all" ]; then</ span > < br > < span class ="line "> echo "Building and running all services..."</ span > < br > < span class ="line "> mvn clean install</ span > < br > < span class ="line "> < span class ="meta prompt_ "> # </ span > < span class ="language-bash "> 假设所有 Spring Boot 模块都在根目录下</ span > </ span > < br > < span class ="line "> for module in $(mvn help:evaluate -Dexpression=project.modules -q -DforceStdout | sed -e 's/<[^>]*>//g' -e 's/\s*//g' | tr ',' '\n'); do</ span > < br > < span class ="line "> echo "Running $module..."</ span > < br > < span class ="line "> mvn spring-boot:run -pl $module &</ span > < br > < span class ="line "> done</ span > < br > < span class ="line "> else</ span > < br > < span class ="line "> < span class ="meta prompt_ "> # </ span > < span class ="language-bash "> 运行指定的单个服务</ span > </ span > < br > < span class ="line "> run_service $SERVICE_NAME</ span > < br > < span class ="line "> fi</ span > < br > </ pre > </ td > </ tr > </ table > </ figure >
240+ < figure class ="highlight shell "> < table > < tr > < td class ="code "> < pre > < span class ="line "> < span class ="meta prompt_ "> #</ span > < span class ="language-bash "> !/bin/bash</ span > </ span > < br > < span class ="line "> < span class ="meta prompt_ "> </ span > </ span > < br > < span class ="line "> < span class ="meta prompt_ "> # </ span > < span class ="language-bash "> 获取服务名称和额外参数</ span > </ span > < br > < span class ="line "> SERVICE_NAME=$1</ span > < br > < span class ="line "> shift # 移除第一个参数(服务名),将剩余参数保存到 $@</ span > < br > < span class ="line "> EXTRA_ARGS="$@"</ span > < br > < span class ="line "> < span class ="meta prompt_ "> </ span > </ span > < br > < span class ="line "> < span class ="meta prompt_ "> # </ span > < span class ="language-bash "> 检查是否输入服务名称</ span > </ span > < br > < span class ="line "> if [ -z "$SERVICE_NAME" ]; then</ span > < br > < span class ="line "> echo "Usage: ./run.sh <servicename|all> [additional_maven_args]"</ span > < br > < span class ="line "> exit 1</ span > < br > < span class ="line "> fi</ span > < br > < span class ="line "> < span class ="meta prompt_ "> </ span > </ span > < br > < span class ="line "> < span class ="meta prompt_ "> # </ span > < span class ="language-bash "> 定义运行单个服务的函数</ span > </ span > < br > < span class ="line "> run_service() {</ span > < br > < span class ="line "> local service=$1</ span > < br > < span class ="line "> local args=$2</ span > < br > < span class ="line "> echo "Building and running $service with args: $args..."</ span > < br > < span class ="line "> mvn clean install -pl $service -am</ span > < br > < span class ="line "> if [ "$service" == "gateway/" ]; then</ span > < br > < span class ="line "> echo "Gateway starting..."</ span > < br > < span class ="line "> mvn spring-boot:run -pl $service -Dreactor.netty.http.server.accessLogEnabled=true $args</ span > < br > < span class ="line "> else</ span > < br > < span class ="line "> mvn spring-boot:run -pl $service $args</ span > < br > < span class ="line "> fi</ span > < br > < span class ="line "> }</ span > < br > < span class ="line "> < span class ="meta prompt_ "> </ span > </ span > < br > < span class ="line "> < span class ="meta prompt_ "> # </ span > < span class ="language-bash "> 如果输入 < span class ="string "> "all"</ span > ,运行所有服务(默认不传参)</ span > </ span > < br > < span class ="line "> if [ "$SERVICE_NAME" == "all" ]; then</ span > < br > < span class ="line "> echo "Building and running all services..."</ span > < br > < span class ="line "> mvn clean install -pl "!generator"</ span > < br > < span class ="line "> for module in $(mvn help:evaluate -Dexpression=project.modules -q -DforceStdout | sed -e 's/<[^>]*>//g' -e 's/\s*//g' | tr ',' '\n'); do</ span > < br > < span class ="line "> if [ "$module" != "generator" ]; then</ span > < br > < span class ="line "> echo "Running $module..."</ span > < br > < span class ="line "> mvn spring-boot:run -pl $module</ span > < br > < span class ="line "> fi</ span > < br > < span class ="line "> done</ span > < br > < span class ="line "> else</ span > < br > < span class ="line "> < span class ="meta prompt_ "> # </ span > < span class ="language-bash "> 运行指定的单个服务,并传递额外参数</ span > </ span > < br > < span class ="line "> run_service $SERVICE_NAME "$EXTRA_ARGS"</ span > < br > < span class ="line "> fi</ span > < br > </ pre > </ td > </ tr > </ table > </ figure >
241+ < p > 核心命令是这一条:</ p >
242+ < figure class ="highlight shell "> < table > < tr > < td class ="code "> < pre > < span class ="line "> mvn spring-boot:run -pl $your_service</ span > < br > </ pre > </ td > </ tr > </ table > </ figure >
243+ < p > 想要增加JVM参数,指定端口可以加上</ p >
244+ < figure class ="highlight shell "> < table > < tr > < td class ="code "> < pre > < span class ="line "> -Dspring-boot.run.arguments=--server.port=$your_port</ span > < br > </ pre > </ td > </ tr > </ table > </ figure >
235245 </ div >
236246
237247
0 commit comments