时间:2018-1-3
1.打war包是web项目中经常用到的事情,为什么要记录呢?
自从springboot,idea流行开始,很多项目都开始用jar部署,简单方便,但有一个需求要使用war包部署,一时竟然无从下手。
网上找了一些解决方案,也不怎么适用,花费了一些额外时间。加上此时空闲,作此记录,以遗后来者。
2.想法: 最初想就在maven项目中把打包方式从 war 换成 jar ,把springboot的内置tomcat注释掉,应该就可以了吧>
结果莫名错误,查资料显示还需要配置启动类诸多麻烦,想起IDEA在初建项目的时候可以选择打jar 或者 war,
直接选择打war包,相信idea 这么智能,各种配置应该没问题
3.创建完项目,新建一个简单的controller, 功能是返回一个字符串。但自从用idea,springboot以来,基本没有配置tomcat,运行过。这里做一下记录。
选择web依赖(截图省略),
观察和打jar 不同的地方,
验证之前的想法,现在怎么启动呢?
点击配置本地的tomcat
然后,
直接启动就好。
4. mvn clean package 打成war
又有个问题,放在本地的tomcat里面试着运行,启动正常,日志正常,
但是只能访问到tomcat猫,无法访问自己的controller
呃,想起来还需要做一下comcat 的 server.xml 配置,在<host/>节点下加入
<Context path="/" docBase="demo.1-SNAPSHOT" reloadable="true"/>
重新启动,终于正常了。
当然 最开始在windows下 写的是
<Context path="/" docBase="demo.1-SNAPSHOT.war" reloadable="true"/>
一切正常,但是放在linux下又访问不到路径了。 去掉 .war 即可。
----总结的微乱,多写望提高