如何把SpringBoot內嵌的tomcat去掉改成自己部署的tomcat發佈項目

第一步:

修改pom文件打WAR包:

    <!--自定義tomcat打包成war-->
    <packaging>war</packaging>

第二步:因爲內嵌的tomcat在SpringBoot的web項目中,所以去除方法如下:

 <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>

第三步:加入tomcat的依賴:

  <!-- servlet依賴的jar包start -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <!-- servlet依賴的jar包end -->

        <!-- jsp依賴jar包start -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
        </dependency>
        <!-- jsp依賴jar包end -->

第四步:

在plugins標籤裏面新加

 <!--maven打war插件-->
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>

還是整個build標籤都貼上吧:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.4.2.RELEASE</version>
            </plugin>
            <!--myBatis逆向工程插件-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
            <!--maven打war插件-->
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/webapp</directory>
                <targetPath>META-INF/resources</targetPath>
                <includes>
                    <include>**/*.*</include>
                </includes>
            </resource>
        </resources>
    </build>

最重要一步 (寫一個類繼承SpringBootServletInitializer,重寫configure方法):

 * @date:2020/5/28 9:37
 * @author:robin
 */
@SpringBootApplication
public class ExportApplication extends SpringBootServletInitializer {
    public static void main(String[] args) {
        SpringApplication.run(ExportApplication.class,args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(this.getClass());
    }
}

last but not least:

添加本地tomcat。
在這裏插入圖片描述

啓動,測試效果 ,出現這個還不能說明部署成功,然後再訪問jsp頁面:

在這裏插入圖片描述
成功訪問如下:
在這裏插入圖片描述

好的,大功告成,特別感謝曾經看到的博主的一篇文章。

美中不足:

tomcat運行過程中會出現如下信息,歡迎大神賜教,不勝感激。

8-May-2020 10:22:42.942 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar Unable to process Jar entry [module-info.class] from Jar [file:/D:/secondKill/wechatpayjsapi/target/wxpay-0.0.1-SNAPSHOT/WEB-INF/lib/jackson-datatype-jdk8-2.10.3.jar] for annotations

在這裏插入圖片描述

打包發佈測試一下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章