BAE部署springboot項目

因爲近期想從新開發一個微信公衆號,須要將一年前的web項目,轉爲spring boot微服務項目,所以有了這篇文章的誕生。php

BAE

BAE,百度應用引擎、百度雲,與此相似的有SAE,阿里雲等。html

至關於在百度雲上購買本身的服務器及域名,適用於node.js、python、php、java項目。java

1、使用BAE基礎版

在部署列表一欄,添加部署,能夠購買本身須要的服務。(本文代碼版本工具爲SVN,項目類型java8-tomcat)node

注:可根據自身需求設置執行單元參數,已提高服務性能。python

部署後,複製SVN地址。web

2、BAE添加項目

將項目代碼上傳到BAE提供的SVN地址上,在此過程當中遇到一系列問題,一下將一一說明。spring

一、因爲BAE上不能部署jar包的項目,所以需將springboot項目打成war,以下:apache

  a.先將pom文件,作一下處理,去除springboot自帶的tomcat容器,並添加外部tomcat依賴。 api

    
<packaging>war</packaging>
    ...
    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <!-- 添加servelt依賴 --> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-servlet-api</artifactId> <version>8.0.36</version> <scope>provided</scope> </dependency>

  b.springboot啓動類繼承SpringBootServletInitializer,並添加以下代碼:瀏覽器

@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){ return builder.sources(啓動類名稱.class); }

  c.使用maven命令將項目打成war包,

  mvn clean package -Dmaven.test.skip=true

  d.若是須要指定生成war的名字,能夠在pom文件中設置:

  

<build>
    <finalName>war包名稱</finalName> ... ... </build>        

二、在項目的target目錄下複製生成的war包,上傳至BAE提供的svn地址上,並在瀏覽器中訪問項目路徑。

注:BAE下默認爲ROOT.war,如需訪問其餘war包,路徑應爲:域名+war包名稱,訪問項目路徑爲:域名+war包名稱+方法路徑。

三、隨着項目代碼的增長,須要及時提高BAE的性能,不然服務將出現異常。

四、必須注意版本問題,因爲JDK使用的爲1.8,tomcat爲7,致使項目部署到BAE上啓動出錯,沒法使用。所以必須注意版本兼容問題。

 

附:BAE入門指南

後期文章更精彩,期待您的關注!

相關文章
相關標籤/搜索