1.在Tomcat中有四種部署Web應用的方式,分別是:html
(1)利用Tomcat自動部署(項目直接拷貝OR WAR包拷貝 到webapps下)java
(2)利用控制檯進行部署(tomcat的manager控制檯的deploy區域)web
(3)增長自定義的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)spring
(4)手動修改%Tomcat_Home%\conf\server.xml文件來部署web應用api
2.SpringBoot WEB項目兩種發佈和部署方式瀏覽器
(1)經過WAR包tomcat
(2)經過JAR包(官網推薦)springboot
利用Tomcat自動部署方式是最簡單的、最經常使用的方式。若一個web應用結構爲D:\workspace\WebApp\AppName\WEB-INF\*,只要將一個Web應用的WebContent級的AppName直接扔進%Tomcat_Home%\webapps文件夾下,系統會把該web應用直接部署到Tomcat中。因此這裏再也不贅述。app
若一個web應用結構爲D:\workspace\WebApp\AppName\WEB-INF\*,利用控制檯進行部署的方式以下:進入tomcat的manager控制檯的deploy區域——在Context path中鍵入"XXX"(可任意取名)——在WAR or Directory URL:鍵入D:\workspace\WebApp\AppName (表示去尋找此路徑下的web應用)——點擊deploy按鈕。eclipse
而後在%Tomcat_Home%\webapps路徑下將會自動出現一個名爲XXX的文件夾,其內容便是D:\workspace\WebApp\AppName的內容,只是名字是XXX而已(這就是前面在Context path鍵入XXX的結果)。
以上說明利用控制檯進行部署的實質仍然是利用Tomcat的自動部署。
若一個web應用結構爲D:\workspace\WebApp\AppName\WEB-INF\*,這種部署方式稍微複雜一點,咱們須要在%Tomcat_Home%\conf路徑下新建一個文件夾catalina——再在其中新建一個localhost文件夾——最後再新建一個XML文件,即增長兩層目錄並新增XML文件:%Tomcat_Home%\conf\Catalina\localhost\web應用配置文件.xml ,該文件就是部署Web應用的配置文件。
例如,咱們新建一個%Tomcat_Home%\conf\Catalina\localhost\XXX.xml, 該文件的內容以下:
<Context path="/XXX" reloadable="true" docBase="D:\workspace\WebApp\AppName" workDir="D:\workspace\WebApp\work"/> 注意: (1)以上代碼中的workDir表示將該Web應用部署後置於的工做目錄(Web應用中JSP編譯成的Servlet均可在其中找到),若是使用的Eclipse做爲IDE,通常可人爲設置在WebApp的work目錄下。 若是自定義web部署文件XXX.xml中未指明workdir,則web應用將默認部署在%Tomcat_Home%\work\Catalina\localhost\路徑下新建的以XXX命名的文件夾下。(Web應用中JSP編譯成的Servlet均可在其中找到) (2)Context path即指定web應用的虛擬路徑名。docBase指定要部署的Web應用的源路徑。
其實開發者可使用安裝有Tomcat插件eclipse自動建立部署文件來部署Web應用而沒必要再手動創建該文件,方法以下:
1. 打開Eclipse——打開菜單欄window選擇preference(首選項)——左側選擇Tomcat,以下圖示:
2. 能夠看到上圖中高亮畫出的Context declaration mode(Context 聲明模式)中選擇以Context files增長自定義部署文件的形式部署web應用——而後Contexts directory中指定上述文件的上級目錄(即%Tomcat_Home%\conf\Catalina\localhost )——點擊Apply或OK。
3. 完上述步驟,再選中Web項目右鍵點擊properties(屬性)——選擇右側的Tomcat ,以下圖所示:
4. 勾上"Is a Tomcat project"前的checkbox,將項目關聯至Tomcat。
在Context name中填入XXX,即Web應用自定義部署文件名和Context path名。
在Subdirectory to set as web application root (optional)中填入要部署的Web應用的實際路徑(即WEB-INF上級目錄)。
注意:Eclipse會自動地將workdir設置在Workspace\WebApp\work下。
如此便自動建立了%Tomcat_Home%\conf\Catalina\localhost\XXX.xml 文件。啓動Tomcat 便可自動部署Web應用。
此方法即打開%Tomcat_Home%\conf\server.xml文件並在其中增長如下元素:
<Context docBase="D:\workspace\WebApp\AppName" path="/XXX" debug="0" reloadable="false" />
而後啓動Tomcat便可。
固然若是使用Eclipse,在Eclipse中的設置也有改變:打開菜單欄window選擇preference(首選項)——左側選擇Tomcat——能夠看到上圖中高亮畫出的Context declaration mode(Context 聲明模式)中選擇以Server.xml文件來部署web應用。
(1)經過WAR包
(2)經過JAR包(官網推薦)
傳統的部署方式:將項目打成war包,放入tomcat 的webapps目錄下面,啓動tomcat,便可訪問。
步驟1:在pom.xml文件中將jar修改成war【<packaging>war</packaging>】
步驟2:在pom.xml文件中將配置文件添加tomcat模塊【】
<!-- 不使用內置的tomcat --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 移除tomcat插件 --> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <!-- 移除以後會報錯,加入下面的依賴 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> <!-- 使用內置的tomcat --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <artifactId>provided</artifactId><!--僅用於編譯和測試--> </dependency>
步驟3:在main方法處的啓動類基繼承
步驟4:在pom.xml點擊右鍵選擇Maven install,會在target文件夾中生成xxx.war包
步驟1:在pom.xml文件點擊右鍵,選擇「Maven install」,而後刷新target文件夾,在target中會產生xxx.jar包。
步驟2:而後在cmd終端輸入代碼:java -jar xxx.jar ,發佈成功
步驟3:在瀏覽器輸入localhost等url進行訪問
方式一:java -jar vodmanager.jar & 後臺關閉後,服務不會中斷
方式二:nohup java -jar vodmanager.jar & 後臺關閉後,服務不會中斷,而且會把輸出的文件信息寫在當前目錄下的nohup文件中。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.6.RELEASE</version> </dependency> </dependencies> </plugin> </plugins> </build>
注意:須要在spring-boot-maven-plugin中添加dependency
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>