1. 程式人生 > >使用maven構建專案時,SSM和springboot專案的打包與雲伺服器部署

使用maven構建專案時,SSM和springboot專案的打包與雲伺服器部署

下面講講如何打包SSM和springboot專案,並部署到雲伺服器上。

 

由於使用的IDE不同,有的使用eclipse,有的使用idea,所以如果在IDE中按照 maven clean 再 maven install的方式打包會稍有不同,下面介紹一種通用的方式,不論SSM專案還是springboot專案,不論使用的是eclipse還是idea,我們直接在dos介面,使用命令進行打包。

以一個例子進行演示:

首先需要在pom.xml中定義打包的型別

 

然後在dos介面,進入該專案下,執行下面的命令進行打包。

mvn clean package -D maven.test.skip=true 

 

這樣就會在我們自己設定的output目錄下(一般為target目錄)生成該專案的war包

 

 

這樣,我們就得到了該專案的war包,然後我們可以把springboot和SSM的war包放到tomcat的webapp目錄下就可以了。

~~~~~~~~~~~~~~~~~~~~~~~~~

將springboot專案當為普通的web專案 部署在tomcat的webapp下時,需要加上下面這個類,並讓它被掃描到。



import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * 繼承SpringBootServletInitializer,相當於以web.xml的方式去啟動部署
 * @author Administrator
 *
 */
public class WarStartApplication extends SpringBootServletInitializer{

   
   
   /*重寫該方法
    */
   @Override
   protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
      //使用web.xml執行應用程式,指向springboot,最後啟動springboot
      return builder.sources(ProfileApplication.class);
   }
   

}

~~~~~~~~~~~~~~~~~~~~~~~~~~

如果我們打包的是springboot專案,還有第二種方式,我們還可以使用springboot自帶的tomcat,可以使用jar -jar 的命令 啟動該專案,也是可以的。

java -jar /developer/collegeo2o-0.0.1-SNAPSHOT.war

不過使用java -jar 啟動該springboot專案時,如果我們關閉了SSH的連線終端,或者退出該執行模式時,那麼該springboot內建的tomcat就相當於被關閉了,這樣我們就無法訪問到專案,所以我們可以使用一點點linux的知識,編寫指令碼,在後臺執行該war。

nohup java -jar /developer/collegeo2o-0.0.1-SNAPSHOT.war &

然後我們執行該指令碼就相當於啟動了該專案,只有在我們重啟伺服器或者強行關閉該程序的時候該專案才會停止。

=========================================================================

以上就是在使用maven構建專案的時候,打包並部署SSM和springboot專案。兩者都是相似的,都可以部署到我們自己的tomcat伺服器中,特殊的是,springboot專案可以獨立執行(內建tomcat); 另外如果部署springboot時使用了我們自己的tomcat,那麼需要在server.xml中配置docBase  資源才能正常訪問到,而使用內建tomcat時,我們已經在WebMvcConfig類中配置了資源的對映,所以不需要在加docBase.