zoukankan      html  css  js  c++  java
  • Spring Boot之使用外部tomcat

     一般在生产环境都会部署在外部的web容器,比如我们公司就部署在WildFly。想这么做就要改一些配置

    一  启动类的修改

    public class Application extends SpringBootServletInitializer {
        private static final Logger appLogger = LoggerFactory.getLogger(Application.class);
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(Application.class);
        }
    
        public static void main(String[] args) {
            if (appLogger.isInfoEnabled()) {
                appLogger.info("snrs-web start.");
            }
    
            SpringApplication sa = new SpringApplication(Application.class);
            sa.setWebEnvironment(true);
            sa.run(args);
        }
    }

       比如继承  SpringBootServletInitializer  同时实现方法 configure

    二 pom文件的修改

      对于SpringBoot1版本要排除内置的tomcat

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.tomcat.embed</groupId>
                        <artifactId>tomcat-embed-websocket</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

    SpringBoot2的写法是

    <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>
    <!--添加servlet-api依赖--->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>//表示使用JBoss或者Tomcat自带的jar
    </dependency>

      同时要增加对各个环境打包的配置

      

    <profiles>
            <profile>
                <id>dev</id>
    
                <properties>
                    <package>jar</package>
                </properties>
    
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
    
                <build>
                    <filters>
                        <filter>src/main/filters/filter-dev.properties</filter>
                    </filters>
                </build>
            </profile>
                    
                    <profile>
                <id>prd</id>
    
                <properties>
                    <package>war</package>
                </properties>
    
                <build>
                    <filters>
                        <filter>src/main/filters/filter-prod.properties</filter>
                    </filters>
                    <resources>
                        <resource>
                            <directory>src/main/resources</directory>
                            <filtering>true</filtering>
                            <excludes>
                                <exclude>rsf.consumer.xml</exclude>
                                <exclude>rsf.provider.xml</exclude>
                                <exclude>application.properties</exclude>
                            </excludes>
                        </resource>
                    </resources>
                </build>
            </profile>
        </profiles>

      

  • 相关阅读:
    python中创建实例属性
    Python中if __name__ == "__main__": 的理解
    模块
    python函数式编程
    python-复杂生成式
    生成器的测试
    mysql乱码配置
    javascript
    Sql Server 2008 R2 下载地址
    Microsoft Data Access Components 2.8
  • 原文地址:https://www.cnblogs.com/juniorMa/p/14185364.html
Copyright © 2011-2022 走看看