springboot可以打包為jar和war,jar不多說了,最近的一個工程需要打包為war發布,大致說一下吧:
先看一下項目的大致結構:
第一步,需要排除springboot自帶的tomcat插件
然后,不要忘記所要打包的那個工程吧默認的jar改為war
第三步,由於我們使用了外部tomcat,所以需要加入servlet依賴:
第四步,在application的同級包下創建新的啟動類:
/** * 繼承 SpringBootServletInitializer, 就是相當於使用了web.xml的形式去啟動 */ public class WarStartApplication extends SpringBootServletInitializer { /** * 重寫 configure */ @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // 雖然使用web.xml的形式去啟動,但是最終還是要指向我們的Application這個spingboot的啟動類 return builder.sources(Application.class); } }
那么最后一步,就是打包了:
打包成功之后,訪問我們的域名:
http://imoocdsp.com/imooc-video-mini-api/hello
如上圖,說明項目已經發布成功了
接下來配置https:
首先去購買一些免費的證書,一年的,騰訊雲有,當然使用阿里雲或者其他供應商的也可以,申請證書成功后下載,獲得如下:
打開tomcat文件夾:
並且上傳文件到tomcat的conf路徑下,如圖:
增加443端口,就是ssl的端口:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="conf/www.domain.com.jks" keystorePass="changeit" clientAuth="false" sslProtocol="TLS" />
建議放在80端口下,需要注意的是,keystorePass是你的證書密碼,這里需要自行修改:
最后不要忘記在你的雲服務器上的443端口需要打開:
最后訪問地址可以看到已經成功,可以訪問HTTPS了: