IntelliJ IDEA 项目打WAR包(步奏),部署到Tomcat(解决不能加载项目静态资源文件的方法)

首先是打war包(仅针对IntelliJ IDEA开发工具开发的项目)

1.修改pom.xml文件(里面没这些需要添加)

(1)


    com.XXXX

    springboot2-mybatis-demo

    0.0.1-SNAPSHOT

    war

(2)


    org.springframework.boot
    spring-boot-starter-web
    
    
        
            org.springframework.boot
            spring-boot-starter-tomcat
        
    
    



javax.servlet
javax.servlet-api
provided



    org.springframework.boot
    spring-boot-starter-tomcat
    provided
    2.1.10.RELEASE

至此pom.xml文件修改完成

2.启动类里面各继承和实现一个类

extends SpringBootServletInitializer implements WebMvcConfigurer

然后重新两个方法

(1)不重写这个方法tomcat会报错或者项目404

//打War包必须继承SpringBootServletInitializer并重写否则无法启动程序
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return super.configure(builder);
    }
(2)加载静态资源方法没有这个方法,tomcat无法加载静态资源
  //这里配置静态资源文件的路径导包都是默认的直接导入就可以
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX + "/static/");
        WebMvcConfigurer.super.addResourceHandlers(registry);
    }

至此Application启动类文件修改完成

3.接下来是时候展现你真正的技术了

(1)点击这个小图标

(2)选择Atifacts(谷歌翻译叫文物,百度翻译叫病人,奈何小学毕业不会翻译暂且叫他文物)

IntelliJ IDEA 项目打WAR包(步奏),部署到Tomcat(解决不能加载项目静态资源文件的方法)_第1张图片

(3)点击+添加一个文物(模糊路径不知道为啥,别人打马赛克咱不能比别人差哈哈)

IntelliJ IDEA 项目打WAR包(步奏),部署到Tomcat(解决不能加载项目静态资源文件的方法)_第2张图片

(4)修改名称,勾选(Include in project build)选择输出路径(我一般直接输出到本地安装tomcat/webapps/,比较懒不用复制过去了),最后还是打马赛克。

IntelliJ IDEA 项目打WAR包(步奏),部署到Tomcat(解决不能加载项目静态资源文件的方法)_第3张图片

(5)希望就在眼前了apply(提交)OK(确认)(别忘了马赛克)

IntelliJ IDEA 项目打WAR包(步奏),部署到Tomcat(解决不能加载项目静态资源文件的方法)_第4张图片

(6)创建一个文物

IntelliJ IDEA 项目打WAR包(步奏),部署到Tomcat(解决不能加载项目静态资源文件的方法)_第5张图片

(7)大结局(选择你创建文件名称)build创建war,点击之后开发工具下面会有进度条,有问题会报错。

IntelliJ IDEA 项目打WAR包(步奏),部署到Tomcat(解决不能加载项目静态资源文件的方法)_第6张图片

需要注意的是war包名最好是字母不要包含特殊字符否则不能正常访问网页http://localhost:8080/demo/

IntelliJ IDEA 项目打WAR包(步奏),部署到Tomcat(解决不能加载项目静态资源文件的方法)_第7张图片

总结;网上查了很多文章都是很片面,要么是解决加载静态资源的问题,要么是解决配置在tomcat下启动问题,我花费今天一天时间把这两个问题同时解决,本人菜鸟一枚如有不对之处还请各位大神指正抱拳了。

你可能感兴趣的:(Spring_Boot)