作為一名資深(fu xiu)的程序猿來說,一直不想向IDEA低頭可能是我對MyEclipse最大的尊重。最近利用SSM框架搭建了一個項目后臺。但是由于開發人員并不能處于同一個局域網中,于是將后臺需要部署到公網服務器中。但是與普通的JAVAweb項目不同的是該項目是一個基于maven的多模塊工程。其實剛開始筆者一直在擔心不知如何部署,在網上搜到的資料也是零星半點。通過網上的一些思路,加上自己半天的摸索,終于將后臺成功部署到服務器上。下面就具體講解一下如何部署maven多模塊工程到公網服務器上。PS:筆者服務器選用某云服務器(服務器只要是公網運行的就可以了!)
1、對maven項目進行打包,文件格式為war包
我們在使用SSM框架進行構建項目的時候, 父工程的打包方式是pom,common工程的打包方式是jar,主要的項目工程是我們的聚合工程,打包方式是pom, 聚合工程中又包括dao、pojo、interface、service、web工程,其中前四個打包方式都為jar,web工程的打包方式為war,那么我們的思路就很清晰了——就是將web工程打包出來。下圖給出項目文件的整體架構圖。
項目結構圖
對父工程、common工程、項目工程文件進行安裝,安裝方法就是對工程進行右鍵---> Run as ---> Maven install,操作過程如下圖所示:
安裝maven項目
如果項目沒有同步更新的話,在這一步可以對項目行update,具體操作過程可以見下圖。
更新maven項目
安裝成功后在console框中可以看到安裝成功之后的war包的路徑,如下圖所示。
war包所在文件夾
從計算機中打開這個路徑,就會看到一個web工程的war包,我們可以記住這個路徑,然后登陸上我們的云服務器。項目需要部署到Tomcat容器中,因此需要在服務器上安裝tomcat容器,運行tomcat的前提還是需要保證服務器上具有jdk環境。因此還需要在服務器上安裝jdk,安裝jdk以及tomcat容器的步驟實質非常簡單,配置環境變量的步驟稍稍有些復雜,如果有不清楚的讀者還不清楚怎么安裝,可以自行百度或者評論留言,如果有必要我也會一步一步地將安裝過程整理成一個帖子發出來。
打包后的war文件
在此假設我們的服務器已經有了jdk環境以及tomcat容器。將我們上步的war包通過文件上傳工具上傳到我們的服務器環境,然后進入服務器中的tomcat安裝包中。
tomcat安裝包
將上傳到服務器的war包復制到tomcat的webApps目錄下(使用cp命令進行復制),復制之后的結果如下圖所示:
復制成功自動解壓文件
我們退回到啟動bin目錄下,也可以直接輸入命令(這種需要我們對tomcat的安裝包目錄比較熟悉后使用),啟動之后我們可以查看tomcat的啟動日志
//啟動tomcat的命令 進入bin目錄下 運行startup.sh文件(假設我們目前在webapps目錄下)
../bin/startup.sh
//查看tomcat啟動日志的命令(假設在webapps目錄下)
tail -f ../logs/catalina.out
看到如下的結果說明我們的tomcat啟動成功:
tomcat啟動成功
在瀏覽器中驗證服務是否正常啟動后臺,在地址欄中輸"公網ip:端口號(默認8080,可以自行設置端口80)/ 工程名/ controller文件下請求的路徑",成功如下圖所示。寫到這里,說明我們的后臺服務已經能夠正常啟動,相對于一個前后端分離的項目,日后我們只需對后臺進行維護和添加相應的服務,前端可以根據自己的需求進行請求服務,不受距離限制,保證網絡即可。在整個配置過程中筆者還遇到一些其他的問題,但都不是很難受的問題,只要我們認真看啟動日志,就能夠解決一多半的問題。在此期間我遇到一個無法連接jdbc的問題,問題描述很清晰:"can‘t not connect the jdbc"。遇到這種問題首先很容易想到是不是網絡問題,但是對于本項目而言,數據庫是使用的公網的oracle數據庫,同一個服務器上的應該不存在這種問題,想想既然會在同一臺機器那么我們是不是可以使用localhost或者127.0.0.1這種連接地址進行連接數據庫(因為數據庫相對于服務器來說應該說是本地環境),但是試了一下發現還是不可以,但是我覺得我想的道理應該沒錯,可能受于云服務器的安全限制。于是我又改回來原來的ip。使用本地服務器連接公網數據庫,發現還是同樣的錯誤,于是我就想到了公網的數據庫很有可能沒有跑起來,再然后我去服務器上查看oracle的進程以及端口都沒有開啟監聽,使用navicat for oracle連接數據庫都顯示沒有開啟監聽問題,這種更加確定了問題的所在--數據庫沒有啟動。于是在服務器上又開始開啟數據庫,由于第一次在云服務器上操作oracle數據庫顯然也是遇到了許多困難,對一些命令不熟悉不知道如何開啟監聽,也害怕哪個命令會搞壞這個東西,但最終還是摸索開啟了數據庫(如果大家這部分還有疑問的話可以評論留言,我有空還是會把這部分的經驗步驟寫出來,雖然不可能面面俱到的講解,但起碼我們有了解決問題的能力!),最終數據庫連接成功。至此mavne多模塊項目也就成功部署到了云服務器上!
瀏覽器驗證成功
如果這篇經驗貼對您有幫助或者有點啟發,那么筆者寫這么多的內容也算沒有白費,請您一定不吝點贊或者評論,有問題我們可以一起解決!






