Springboot tomcat-embed-jasper依赖说明

       使用过Springboot的同学都知道其已内置tomcat(spring-boot-starter-web),无需打war包,打成jar包直接运行。最近学习使用Springboot发现项目中的pom文件引入了tomcat-embed-jasper(对jsp的支持的依赖)但scope为provided。

        于是不明白感觉springboot的tomcat应该自带了tomcat-embed-jasper吧,遂将pom文件该依赖删掉,eclipse启动项目无报错,访问页面发现所有的jsp页面都会被下载而不能被访问。但是又一个令我疑惑的问题是其依赖scope为provided,也就是说打包时该依赖不会被包含在lib包内,但是我的jar启动的页面访问却没有问题。

        以上说明一个问题:springboot自带的tomcat并没有携带tomcat-embed-jasper的依赖

        又做了一个实验:将tomcat-embed-jasper的scope去掉后,打成jar包,启动项目时报错==>jasper的jar包冲突

        结论猜测:检查pom文件后,猜测一定是spring-boot-maven-plugin(1.4.2.RELEASE)插件在打包时自动额外的添加tomcat-embed-jasper的支持。而我们在工具中启动项目时并没有打包,所以需要该依赖对我们eclipse中项目jsp的支持,为防止其打包冲突,遂设置其scopeprovided。

(如有不对的理解欢迎指正~)

猜你喜欢

转载自blog.csdn.net/u013189824/article/details/80507849