内容简介:虽然一般微服务都是把spring boot项目打成jar直接启动,但是war包作为经典的项目启动方式,是有必要掌握的。完整项目代码已上传github:写作花费了作者大量时间,求赞,求关注
虽然一般微服务都是把spring boot项目打成jar直接启动,但是war包作为经典的项目启动方式,是有必要掌握的。
完整项目代码已上传github: github.com/neatlife/my…
写作花费了作者大量时间,求赞,求关注 _(:з」∠)_
准备案例项目
可以直接拿现成的spring boot项目进行修改,也可以在https://start.spring.io/创建一个新的案例项目,比如:
如果是在start.spring.io上创建的新项目,需要把web组件加到项目里,这个编写测试接口会用到web组件里的控制器。
然后在idea中打开这个项目,编写两个用来测试的api
@RestController
@RequestMapping("test")
public class MyController {
@RequestMapping("test1")
public String test1() {
return "test1";
}
@RequestMapping("test2")
public String test2() {
return "test2";
}
}
复制代码
将项目打包成war包
修改pom.xml指定打包方式为war包: <packaging>war</packaging> 修改pom.xml修改spring boot内置的tomcat依赖,指定scope为provided
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> 复制代码
修改成果如下:
创建一个初始化文件初始化项目比如:MySpringBootServletInitializer.java 核心代码如下
public class MySpringBootServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MywarApplication.class);
}
}
复制代码
执行命令 mvn clean install -Dmaven.test.skip=true 将项目打成war包,执行后到target目录查看效果
可以看到成功的把项目打成了war包
把项目的war放到tomcat里运行
可以使用 docker 一键启动tomcat,把项目war所在的target目录挂载到tomcat的webapps目录
docker run --name=tomcat -itd --rm -p 8888:8080 \ -v /Users/suxiaolin/Dropbox/Projects/mywar/target:/usr/local/tomcat/webapps tomcat:8-jre8 复制代码
可以使用 docker logs -f tomcat 查看tomcat启动日志
可以看到tomcat内部已经开始启动mywar这个spring boot项目了
打开浏览器访问查看效果
成功访问到了编写的测试api
注意这个url前缀是war包完整的包名,完整url如下
http://127.0.0.1:8888/mywar-0.0.1-SNAPSHOT/test/test1 http://127.0.0.1:8888/mywar-0.0.1-SNAPSHOT/test/test2 复制代码
一些注意的点
可以修改最终的war包的名称,比如去掉文件名里的版本号:mywar.war,在pom.xml使用finalName指令可以实现
重新打包查看效果
这样访问url就方便了
tomcat启动时可能报这个错, 参考 Unsupported major.minor version 52.0解决办法 : Unsupported major.minor version 52.0 (unable to load class org.springframework.web.SpringServletContainerInitializer)
这是因为项目打包的 java 版本和tomcat的java版本不一致导致的,目前一般使用java8,tomcat的docker镜像选择tomcat:8-jre8就可以了
以上所述就是小编给大家介绍的《三分钟把spring boot打成war包部署到tomcat中》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
安全测试指南(第4版)
OWASP基金会 / 电子工业出版社 / 2016-7-1 / CNY 89.00
软件安全问题也许是这个时代面临的*为重要的技术挑战。Web应用程序让业务、社交等网络活动飞速发展,这同时也加剧了它们对软件安全的要求。我们急需建立一个强大的方法来编写和保护我们的互联网、Web应用程序和数据,并基于工程和科学的原则,用一致的、可重复的和定义的方法来测试软件安全问题。本书正是实现这个目标的重要一步,作为一本安全测试指南,详细讲解了Web应用测试的“4W1H”,即“什么是测试”、“为什......一起来看看 《安全测试指南(第4版)》 这本书的介绍吧!