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了: