spring boot配置tomcat部署

x33g5p2x  于2021-11-27 转载在 Spring  
字(3.2k)|赞(0)|评价(0)|浏览(641)

spring boot本身默认为jar包运行,可以改为war包,然后运行在tomcat里

具体修改的步骤如下:

1.在pom.xml文件里添加需要的依赖:
  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. </dependency>
  5. <!--以下是在tomcat运行比spring boot多引的包-->
  6. <dependency>
  7. <groupId>org.apache.tomcat.embed</groupId>
  8. <artifactId>tomcat-embed-jasper</artifactId>
  9. </dependency>

以上两个依赖还需要引入下边一个spring boot的父依赖。

  1. <!-- Spring Boot 启动父依赖 -->
  2. <parent>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-parent</artifactId>
  5. <version>1.5.1.RELEASE</version>
  6. </parent>

为了访问到jsp页面还需要加jstl依赖

  1. <dependency>
  2. <groupId>javax.servlet</groupId>
  3. <artifactId>jstl</artifactId>
  4. <version>1.2</version>
  5. </dependency>

为了部署到tomcat里,那packing 标签必须要改成war

  1. <packaging>war</packaging>
2.最后修改启动类:
  1. package microservice.springboot;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.boot.builder.SpringApplicationBuilder;
  5. import org.springframework.boot.web.support.SpringBootServletInitializer;
  6. /**
  7. * 即继承SpringBootServletInitializer类,并重写它的 configure方法即可
  8. */
  9. @SpringBootApplication
  10. public class CreateModelApplication extends SpringBootServletInitializer{
  11. public static void main(String[] args){
  12. SpringApplication.run(CreateModelApplication.class,args);
  13. }
  14. @Override
  15. protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
  16. return application.sources(CreateModelApplication.class);
  17. }
  18. }

注意了,这样配置,并不是说只能用tomcat来启动,也是可以直接main方法启动的,瞬间高大上了不是?

3.然后在项目的src/main/下创建一个新的文件夹webapp,我们放进两个jsp文件和js用来测试,配置到这里,就可以启动tomcat查看了,配置情况如下图:

4.启动tomcat,访问index.jsp

5.如果你还想让将来打包的结构规范一些,可以在pom.xml里加上如下配置:
  1. <build>
  2. <resources>
  3. <resource>
  4. <directory>${basedir}/src/main/resources</directory>
  5. <includes>
  6. <include>application.properties</include>
  7. <include>dubbo-consumer.xml</include>
  8. <include>logback-spring.xml</include>
  9. </includes>
  10. <filtering>true</filtering>
  11. </resource>
  12. <resource>
  13. <directory>${basedir}/src/main/webapp</directory>
  14. <!--这里是将webapp下的文件都打包复制到下边目录下 -->
  15. <targetPath>META-INF/resources</targetPath>
  16. <includes>
  17. <include>**/**</include>
  18. </includes>
  19. </resource>
  20. <resource>
  21. <!--下边的这个resource,这个其实在这里没有用,可以删掉--> <directory>${basedir}/src/main/resources</directory>
  22. <includes>
  23. <include>**/**</include>
  24. </includes>
  25. </resource>
  26. </resources>
  27. <plugins>
  28. <plugin>
  29. <groupId>org.springframework.boot</groupId>
  30. <artifactId>spring-boot-maven-plugin</artifactId>
  31. <version>1.5.1.RELEASE</version>
  32. <executions>
  33. <execution>
  34. <goals>
  35. <goal>repackage</goal>
  36. </goals>
  37. </execution>
  38. </executions>
  39. </plugin>
  40. <plugin>
  41. <groupId>org.apache.maven.plugins</groupId>
  42. <artifactId>maven-surefire-plugin</artifactId>
  43. <configuration>
  44. <useSystemClassLoader>false</useSystemClassLoader>
  45. </configuration>
  46. </plugin>
  47. </plugins>
  48. </build>

相关文章