日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

springboot公共模块打包_解决SpringBoot多模块发布时99%的问题?

發布時間:2025/3/11 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot公共模块打包_解决SpringBoot多模块发布时99%的问题? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

每天都會分享Java架構文章,喜歡的朋友關注我。ps:文末有彩蛋,驚喜等著你

如果使用的是 SpringBoot 多模塊的項目,在發布的時候可能遇到各種各樣的問題。本文歸納了以下 8 個原則和發布時經常出現的 4 個問題的解決方案,掌握了這些原則和解決方案,幾乎可以解決絕大數 SpringBoot 發布問題。

SpringBoot 多模塊發布的 8 大原則

1 在發布模塊打包,而不是父模塊上打包

比如,以下項目目錄:

如果要發布 api 就直接在它的模塊上打包,而不是在父模塊上打包。

2 公共調用模塊,打包類型設置為 jar 格式

公共模塊,比如 common 和 model 需要設置 packaging 為 jar 格式,在 pom.xml 配置:

jar

3 發布模塊打包類型設置為 war 格式

在發布的模塊 pom.xml 中設置:

war

4 排除內置 tomcat

在發布的模塊 pom.xml 中設置:

org.springframework.boot spring-boot-starter-tomcat provided

當設置 scope=provided 時,此 jar 包不會出現在發布的項目中,從而就排除了內置的 tomcat。

5 設置啟動類

此步驟相當于告訴 tomcat 啟動的入口在哪。需要在啟動類添加如下代碼:

@SpringBootApplicationpublic class ApiApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(ApiApplication.class); } public static void main(String[] args) { SpringApplication.run(ApiApplication.class, args); }}

6 如果使用攔截器一定要排除靜態文件

比如我在項目中使用了 swagger,那我就需要排除 swagger 的靜態文件,代碼如下:

@Configurationpublic class WebMvcConfig extends WebMvcConfigurationSupport { @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { // 排除靜態文件 registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } // do something}

7 先裝載公共模塊,再發布項目

如果發布的模塊引用了本項目的其他公共模塊,需要先把本項目的公共模塊裝載到本地倉庫。

操作方式,雙擊父模塊的 install 即可, install 成功之后,點擊發布模塊的 package 生成 war 包,就完成了項目的打包,如下圖所示:

8 部署項目

有了 war 包之后,只需要把單個 war 包,放入 tomcat 的 webapps 目錄,重新啟動 tomcat 即可,如下圖所示:

項目正常運行會在 webapps 目錄下生成同名的文件夾,如下圖所示:

完成以上配置,就可以 happy 的訪問自己發布的項目了。

可能出現的問題和解決方案

問題一:SpringBoot 配置了端口號影不影響程序發布?

答:不影響,配置的 server.port 會被覆蓋,以 tomcat 本身的端口號為準,tomcat 端口號在 tomcat/config/server.xml 文件中配置。

問題二:發布報錯,不能找到其他模塊或項目中的公共模塊,怎么辦?

答:因為沒有執行父節點 maven 的 install 操作,install 就是把公共模塊放入本地倉庫,提供給其它項目使用。

問題三:不能找到 SpringBoot 運行的 main 類,怎么辦?

答:因為沒有設置啟動類導致的,設置方式:

  • pom.xml 配置啟動類,配置 configuration>com.bi.api.ApiApplication 。
  • 啟動類繼承 SpringBootServletInitializer 實現 SpringApplicationBuilder 方法,具體代碼參考文中第五部分。

問題四:把 SpringBoot 項目部署到 Tomcat 7 一直提示找不到 xxx.jar 包?

答:這是因為 SpringBoot 版本太高,tomcat 版本太低的原因。如果你使用的是最新版的 SpringBoot,可以考慮把 tomcat 也升級為 tomcat 8.x+ 最新的版本,就可以解決這個問題。


彩蛋時間:免費分享Java系列技術資料,需要的朋友可以在后臺私信我

作者:白天不懂夜的黑

鏈接:https://www.jianshu.com/p/7ab4fd0d565f

來源:知乎

聲明:本文為二次轉載,原文不可查

總結

以上是生活随笔為你收集整理的springboot公共模块打包_解决SpringBoot多模块发布时99%的问题?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产伊人网 | 中日韩中文字幕一区二区 | 黑人粗进入欧美aaaaa | 一区二区日韩国产 | 免费在线小视频 | 91精彩视频在线观看 | 免费在线播放视频 | 成人av无码一区二区三区 | 国产激情小视频 | 爱爱的网站 | 日本一级黄色大片 | 无码精品一区二区免费 | 国产精品乱码久久久 | 国产精品色呦呦 | 激情三级在线 | 日本一区视频在线观看 | 一区二区视频在线免费观看 | 日韩精品视频在线播放 | 在线免费视频你懂的 | 国产无遮挡又黄又爽免费网站 | 海量av资源 | 91久久精品无码一区二区 | 91直接进入 | 爱情岛论坛成人av | 看一级黄色 | 91日韩欧美| 大地资源在线观看免费高清版粤语 | 新婚之夜玷污岳丰满少妇在线观看 | 中文字幕免费视频 | 国产一区二区三区色淫影院 | 99999精品视频 | 天天干网站 | 在线免费不卡视频 | 国产精品视频入口 | 日韩av二区 | 精品视频无码一区二区三区 | 国产美女喷水视频 | 久久中文字幕在线 | 最新中文字幕免费视频 | 在线日韩精品视频 | 欧美xx视频 | 欧美高清69hd | 一本视频 | 亚洲欧美色图在线 | 国产精品日韩精品欧美精品 | 麻豆伊甸园 | 午夜综合网| 一区二区蜜桃 | 午夜精品久久久久久久96蜜桃 | 亚洲综合p | 福利视频在线看 | 国产毛片毛片毛片毛片 | 久久久高清免费视频 | 成人做爰www看视频软件 | 亚洲淫欲 | 亚洲激情视频在线播放 | 欧美日韩1区 | 黄色com| 婷婷中文字幕在线 | 久久一道本| 国产日韩欧美在线观看 | 国产中文字幕在线免费观看 | 911精品国产一区二区在线 | 一级片一区 | 欧日韩一区二区三区 | 中文字幕一区二区在线老色批影视 | 欧美一级一区二区三区 | 美女网站在线 | 自拍天堂| 日韩久久一区 | 国产九九精品视频 | 国产高清视频一区二区 | 中日韩男男gay无套 人人草人人干 | 在线免费av网站 | 精品1区2区 | 91九色蝌蚪| 亚洲激情文学 | 久久久精品一区 | 51精品国产 | 欧美大片a | 91久久久久久久久久久久久 | 第四色在线视频 | 国产在线999 | 日本免费黄色小视频 | 日韩伦理一区二区 | 96免费视频 | 又黄又爽又色视频 | 伊人网站在线观看 | 美女久久精品 | 中国女人毛片 | 朝桐光一区二区三区 | 五月天国产视频 | 九九色网 | 男女羞羞无遮挡 | 国产精品无码一区二区桃花视频 | 成人深夜在线观看 | 不卡久久 | 国产91在线观看丝袜 | 国产精品sm调教免费专区 |