SpringBoot技巧之容器调试

我也很蛋疼这种需求。

1. 部署到JavaEE容器

  1. 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法

    public class SpringBootSampleApplication extends SpringBootServletInitializer{
    
        private static final Logger logger = LoggerFactory.getLogger(SpringBootSampleApplication.class);
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(this.getClass());
        }
    
    }
  2. 修改pom文件中jar 为 war

    <!-- <packaging>jar</packaging> -->
    <packaging>war</packaging>
    
  3. 修改pom,排除tomcat插件

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
                </exclusions>
    </dependency>
    
    <!-- 排除Tomcat后,需要引入Servlet -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <scope>provided</scope>
    </dependency>

2. 注意

  1. 特别要注意这个 src/main/resource 目录下的exclude的参数, **的意思代表排除所有!!!!

    这编译位置

  2. 然后就是Maven依赖发布到lib目录下
    编译路径

    使用文本编辑器打开项目根目录下的.classpath文件

    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
    <attribute name="maven.pomderived" value="true"/>
    <!--就是下面这句了-->
    <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
    </classpathentry>

  1. SpringBoot项目部署与服务配置

猜你喜欢

转载自blog.csdn.net/lqzkcx3/article/details/79565148