idea springboot項目打jar包部署成功,卻無法訪問


1.情景展示

  如上圖所示,使用idea打包成功后,使用java命令啟動jar包,並沒有報錯信息,但是通過瀏覽器或者postman卻無法訪問項目相關請求。

2.原因分析

  與項目無關,是idea自身的mvn插件自身的bug,使用插件的package命令進行打包時,如果打成jar包的話,將無法在java中正常訪問。

  提醒:

  如果你的是問題是:項目部署成功,其它正常,html頁面也可以正常訪問,就是無法訪問jsp頁面,我只能告訴你,不用再往下看了!

  jsp頁面本質是一個servlet,由tomcat將jsp轉換成servlet.java--》servlet.class-->xx.html(只有在請求的時候才會觸發),所以,只能將項目打成war包,並部署到tomcat上才能訪問得到jsp對應的html頁面!

3.解決方案

  回歸原始狀態,使用mvn原生命令,自己手動打包,正所謂:自己動手豐衣足食。

  首先,一般人想到的笨方法就是,使用cmd命令打開黑窗口,開始敲命令,其實,在idea中就可以執行cmd命令

  遠在天邊近在眼前,它就在這里

  點擊這種窗口,我們就可以像在cmd中那樣為所欲為,這樣,我們就可以直接輸入打包命令,省略切換到將要打包的目錄下這一道命令啦

  最簡單的打包命令:

mvn clean package

  如果想在打包的時候跳過測試環節,就可以這樣:

mvn clean package -Dmaven.test.skip=true  

  這里強調一點:有人會把mvn install當成是打包命令,雖然,這個命令也可以生成我們所需的包,但是,其實嚴格意義上來說,

  mvn install是把項目打成jar包並安裝到本地倉庫;

  mvn package才是純粹的打包命令。

  一般情況下,到這里就結果了

  但有人明明需要的是jar包,結果出來確實war包,尷不尷尬?

  首先,看你的項目有沒有指定打包形式,一般而言,如果沒有配置該標簽的話,默認打出來的將是jar包,如果標簽值不是jar,就改成jar 

  通過maven命令指定生成jar包還是war包,我沒找到,一時半會也想不起來,有知道的請留言;

  還有一種情況就是:pom.xml通過profile標簽來配置多個環境,比如:開發環境、測試環境、生成環境等

  想要哪個環境生效,就需要激活對應的環境,不然生成的將不會是你所需要的。 

  還有一種方式更方便:

開發環境打包:mvn clean package -Dmaven.test.skip=true -P dev
測試環境打包:mvn clean package -Dmaven.test.skip=true -P test
生產環境打包:mvn clean package -Dmaven.test.skip=true -P prod

  通過命令-p來指定哪個環境生效

拓展:

  如何運行jar包(部署項目)?

  首先,將要部署的電腦需要安裝jdk或者jre,並且能夠通過命令執行相關java命令;

  其次,執行javac命令

javac -jar jar包的絕對路徑或相對路徑

  回車,等待即可 

  另外,生成的日志文件將會伴隨jar包所在目錄  

2021-01-06

  springboot多模塊項目,通過idea打的jar包,項目可以正常訪問,這還真是挺奇怪的哈。

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM