最近有个springboot项目要发布到独立的tomcat下运行,其中遇到了很多坑,在此记录下:
1.springboot项目打包配置:
首先在启动类目录下新增打包类
备注:启动类继承自SpringBootServletInitializer方可正常部署至常规tomcat下,其主要能够起到web.xml的作用(web.xml主要配置各种servlet,filter,listener等,如常见的Log4jConfigListener、OpenSessionInViewFilter、CharacterEncodingFilter、DispatcherServlet等,此部分信息均是容器启动时加载)
2.pom文件改动:
2.1需要新增这些依赖:
其中tomcat.version要和tomcat服务器中设置的jdk版本一致!(linux下命令:whereis java)
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 移除嵌入式tomcat插件 --><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-juli</artifactId><version>${tomcat.version}</version></dependency>
<build><plugins><plugins>中新增:
<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><finalName>${project.name}</finalName><!-- 打包后的war名称--></configuration></plugin>
2.2其中需要修改的pom标签:
<packaging>war</packaging> 打jar包需要改为jar
2.3IDEA执行:
打完的war包在
发布到tomcat容器下就可以了。
其中tomcat服务器搭建几个注意点:
1.修改端口号(三处修改),防止多tomcat冲突
2.tomcat指定jar需要修改 setclasspath.sh 新增两句语句:
export JAVA_HOME=/usr/java/jdk1.8.0_65
export JRE_HOME=/usr/java/jdk1.8.0_65/jre/ (后面的/不能漏)
3.修改tomcat的内存