1.熱部署和熱加載的區(qū)別:
? ? 部署:? ? 就是將整個應(yīng)用重新啟動
? ? 加載:? ? 只替換更改的class文件,重新加載class(原理:容器啟動時候,后臺啟動一條線程,定時檢測文件的時間戳變化,變化的就重新載入)
? ? 都是基于Java的類加載器實現(xiàn)的;
2.熱部署:
? ? 1).????直接將項目web文件夾放在Tomcat的webapps里(tomcat自帶的熱部署方式)
? ? 2).? ? 在tomcat/conf/server.xml文件中的<host><host/>添加<context/>標(biāo)簽
? ? ? ? ? ? <Context debug="0" docBase="D:/Imooc/web" path="/**" privileged="true" reloadable= "true"/>
????????????docBase-->指定該項目路徑,META-INF、WEB-INF那一層復(fù)制進去
????????????path-->虛擬路徑
? ? 3).? ? 在%tomcat_home%/conf/Catalina/localhost中添加一個**.xml文件(文件名為項目名,即path名)
? ? ? ? ? ? <context docBase="D:/Imooc/web" reloadable="true"/>
3.自己實現(xiàn)java熱加載
? ? ? ? ? ? 寫的東西沒起作用(IDEA默認不支持熱部署),代碼就不粘了,以后搞明白了再寫;
4.Springboot熱部署實現(xiàn)<IDEA不支持,Eclipse可以,呵呵,都用springboot了,為什么還要用Eclipse>
? ? ? ? ? ? 1).SpringLoaded實現(xiàn)
? ? ? ? ? ? ? ? ①????Maven啟動方式
????????????????????????打開cmd,在項目目錄下面輸入命令? ? mvn spring-boot:run
????????????????????????<注:需要先配置好maven環(huán)境變量>
? ? ? ? ? ??②? ? run as - java application
? ? ? ? ? ? ? ? ? ? ? ? 下載springloaded-1.2.6.RELEASE.jar
? ? ? ? ? ? ? ? ? ? ? ? 配置啟動參數(shù)<不同工具地方不一樣>? ? VM arguments:? ? -javaagent:**/springloaded-1.2.6.RELEASE.jar -noverify? ??
? ? ? ? ? ? ? ? ? ? ? ? 啟動即可;
? ? ? ? ? ? 2).? ? spring-boot-devtools熱部署實現(xiàn)
? ? ? ? ? ? ? ? ? ? ? ? pom.xml直接添加依賴
? ? ? ? ? ? ? ? ? ? ? ? 直接啟動項目即可
5.Spring Boot項目發(fā)布方式
? ? ? ? 1).? ? jar包
打包之后,直接命令啟動 java -jar ****.jar
? ? ? ? 2).? ? war包,發(fā)布到Tomcat
? ? ? ? ? ? ?① ? 修改打包方式為war:
? ? ? ? ? ? ? ?②? ? 引入tomcat環(huán)境依賴
????????????????③? ? 啟動類繼承SpringBootServletInitializer,并重寫configure方法
? ? ? ? ? ??
????????????????④????項目打包之后,發(fā)布到tomcat的webapps目錄下,tomcat解壓后得到的文件夾的名稱,就是服務(wù)路徑名(應(yīng)該可以修改)
<第一篇博客寫完了,有什么疑問或錯誤,歡迎指正,我會及時給與回復(fù)>