SpringBoot之IntellIJ Idea下外置Tomcat配置

前言

在用了一段时间springboot后发现使用内置的tomcat开发项目时有诸多不便,所以改为了外置tomcat的方式进行开发,有一下几点好处:

  1. 静态资源更新时,不需要重启项目。idea中在使用外部web服务器的情况下有自动更新静态资源的方法。
  2. 静态资源变动时,可以在项目导出目录中检查静态资源是否同步到运行目录中。
  3. 静态资源可以不通过controller控制直接访问。
  4. 方便直接导出war包发布到tomcat上部署。
  5. 修改java类的时候,也不用每次都重启tomcat,只要redeploy就行。

一、创建SpringBoot项目

正常流程创建SpringBoot项目并进入项目。

二、创建ServletInitializer.java

package your package;

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

public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(IntelligentArchivesBaseApplication.class);
    }
}

三、标记java目录为source root,resources为resources root

四、创建webapp目录

在main目录下,创建webapp目录,并在webapp下创建:1、WEB-INIF目录。2、favicon.ico文件,网站图标。3、WEB-INF下创建web.xml

web.xml内容:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>网站名字 </display-name>
</web-app>

五、修改pom.xml

5.1 在项目<name>前加入<packaging>war</packaging>

5.2 在springboot中,移除内容tomcat插件

找到spring-boot-starter-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>
                <!-- slf4j会有冲突,所以最好也移除 -->
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

5.3 增加外部tomcat库

<!-- 外部tomcat库 -->
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-servlet-api</artifactId>
            <version>9.0.24</version>
            <scope>provided</scope>
        </dependency>

六、安装外部tomcat

如:D:/tomcat9

七、配置外部tomcat

7.1 点击顶部的Add Configurations

7.2 添加tomcat server运行方式

如果在列表中找不到TomcatServer,请点击列表最下方的“33 items more..”

7.3 配置tomcat服务器地址

选择tomcat所在安装目录

7.4 reimport maven

如果reimport的时候,因为网速卡住了,可添加国内镜像

<!-- 国内阿里云镜像 -->
    <repositories>
        <repository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <layout>default</layout>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

7.5 此时会只动生成first-demo:war exploded 运行导出配置

7.6 配置运行目录内的导出文件

在configurations中 点击fix,将导出文件放入tomcat中。

7.7 配置web

如果在项目配置中,modules中没有看到“web”项,可以手动添加一个。

文件会自动关联,有fix弹出时,点击fix,并且选择include到 :war exploded中。

7.8 设置运行目录

设置为“/”,跟目录。

8、完成

使用运行或调试方式运行项目

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值