問題出現流程記錄:用Eclipse4.7.2版本直接建立了一個Springboot,在建的過程中直接選的是2.1.5的版本,里面只是選擇了web、web-service,無奈寫好controller之后,都沒有走到controller進程就結束了,掉到坑里了嗎?
下面是爬坑的過程:
1、先確定代碼過程,用最簡單的demo,提示Start Application in xx S,進程自動關閉了
2、mvn update多次,強制更新下載,還是不行
3、開始查是不是tomcat和2.1.5的版本有兼容問題?還是Eclipse的環境有啥問題(Eclipse中裝了sts的插件,更新了插件之后還是不行,從官網上查了Eclipse最新版本,發現竟然每一個Eclipse版本都有其對應的sts版本,想到是否可能是工具的兼容問題),因此接下來用不同的方式進行打包和創建工程以驗證猜想?因為之前用2.0.6Release的Springboot版本創建的工程運行是成功的(半年前的項目),將有問題的工程中的pom文件中的Springboot版本改成2.0.6Release就能夠運行成功
4、嘗試debug,配置的過程中想到了試一下mvn直接clean install試試打出來的jar包是否可以,因為放到服務器上也是通過這種方式打包,之后運行通過java -jar xx.jar,事實證明,這樣是可以的,到目前為止還沒有想到是什么問題
5、因為本地還有IDEA,直接建一個很簡單的工程之后,放入controller,之后運行成功
6、這里捋出來幾個方向:
(1)可能是工具問題(可能版本不夠新,有兼容問題,STS的支持+最新版本的Springboot有問題)
(2)2.0.6Release版本運行和2.1.5Release版本運行的時候,依賴的jar包有什么不同,查看之后發現jar包版本不同 —— 同時查到一個關於使用阿里鏡像導致下載庫失效的問題,嘗試進行了庫的替換(但因為替換過程中字符編碼可能存在一些問題,導致本地解析settings文件有問題,因此直接使用了默認的settings.xml文件,反而2.1.5版本的好用了)
至此就能夠完全明確了,發現IDEA和Eclipse中的mvn的settings路徑設置是不同的
所以遇到這種環境的坑就是要:
(1)先mvn update,多換幾種不同的mirror鏡像下載庫
(2)通過不同的工具對比,確定唯一可能的變化值,在此基礎上繼續分析
mvn的打包命令為:進入到目標工程根目錄下,通過mvn clean install,成功后會提示Build Success
運行時,進入到工程目錄的根目錄的target目錄,通過java -jar xxx.jar
基於mirror的配置的,可以自行百度,一般會有aliyun的,還有maven官方庫配置的~
另外,注意:maven的路徑配置的,最好是中間沒有空格的,比如:Program Files,這個Program Files的空格在很多情況下比較坑,所以盡量避免