1.将SpringBoot的项目的打包方式设置为war
Maven依赖项
com.geostar.zrzy
ProvinceEstateShare
1.0
war
2.移除内嵌的tomcat模块,但是为了我们在本机测试方便,我们还需要引入它,所以配置如下
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
org.springframework.boot
spring-boot-starter-tomcat
provided
3.添加tomcat-servelt-api依赖
4.修改入口方法 继承一个SpringBootServletInitializer类,并且覆盖configure方法
public class SpringDataJpaExampleApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringDataJpaExampleApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(SpringDataJpaExampleApplication.class, args);
}
}
5.添加war插件,用来自定义打包以后的war包的名称
org.apache.maven.plugins maven-war-plugin src/main/resources/** ROOT注意:本地jar打入项目中,以ojdbc为例
oracle
ojdbc6
11.2.0.3
system
${project.basedir}/lib/ojdbc6-11.2.0.3.jar
这里引用的是servlet包,最重要的是scope这个字段,provided的意思,就是说这个jar包,在这个项目可能的运行环境里,都会提 供了的,所以就不用打包到war包里面了。因此,要使得war包里面包含servlet这个包,只要把scope这句给删除掉就可以了。
javax.servlet
servlet-api
2.5
provided
directory字段指向的是包含你所有要用jar包的目录
targetPath则是编译后要把这些jar包复制到的位置
下面的filtering就是只导入所有以jar为后缀的文件
通过上面的设置,就能把你要的jar包导入进去了
org.apache.maven.plugins
maven-war-plugin
${project.basedir}/lib
WEB-INF/lib
flase
**/*.jar