首页 > 其他 > 详细

intellij idea打包并部署到外部的tomcat

时间:2021-09-01 12:37:59      阅读:32      评论:0      收藏:0      [点我收藏+]

一、将项目打包成war格式,修改pom.xml

1、在其中添加下列代码

<packaging>war</packaging>

2、检查是否有这两个插件, maven-war-plugin 和 spring-boot-maven-plugin

  <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.1</version>
            </plugin>
        </plugins>
<!--        打包成的项目名-->
        <finalName>tomcattest</finalName>
    </build>

3、点击右侧的package打包成 war 包,在项目的target目录可以看到生成的war包

技术分享图片技术分享图片

 

 

4、打开cmd,到war 包所在目录 运行命令,项目可以正常启动并能成功访问。

java -jar  tomcattest.war

 技术分享图片

 

 

5.发布到外部的tomcat

  把tomcattest.war放到tomcat下的webapp下,重启tomcat,再次访问发现访问不到,报404错误。

技术分享图片

 

 6、解决当前这个在外部tomcat没办法运行起来并访问的问题,方法是修改启动类。

  让项目启动类SpringBootStartApplication 继承自 SpringBootServletInitializer

    说明:

     A.在外部容器部署的话,不能依赖于Application的main函数

       B.在启动类中继承SpringBootServletInitializer并实现configure方法,以类似于web.xml文件配置的方式来启动Spring应用上下文

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class TomcattestApplication extends SpringBootServletInitializer {
    @Override
    public SpringApplicationBuilder configure(SpringApplicationBuilder applicationBuilder) {
        return applicationBuilder.sources(TomcattestApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(TomcattestApplication.class, args);
    }

}

7、再次打包发布到外部的tomcat。成功访问。

技术分享图片

 8、完结散花!

参考:

https://blog.csdn.net/weixin_34067102/article/details/86003918

IntelliJ IDEA Sringboot 项目部署到外部Tomcat服务器 - 南下玩技术 - 博客园 (cnblogs.com)

intellij idea打包并部署到外部的tomcat

原文:https://www.cnblogs.com/dragon-lan/p/15209541.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!