springBoot打包项目在Tomcat上运行

本文详述了如何将SpringBoot项目排除内置Tomcat,通过引入外部Tomcat依赖及调整配置,最终实现项目的顺利打包并在Tomcat服务器上运行的过程。

springBoot打包项目在Tomcat上运行

1.引入依赖,因为boot内置tomcat打包前应将内置的tomcat排除在外

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

2.引入依赖,tomcat-servlet-api,版本号应与本地tomcat一致

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-servlet-api</artifactId>
    <version>8.5.49</version>
    <scope>provided</scope>
</dependency>

3.在启动类同级别添加一个类继承SpringBootServletInitializer类并重写configure方法,configurate方法中的builder.sources(?.class)中的参数要为原先的启动类

/*修改启动类,继承SpringBootServletInitializer类并重写configure方法 */
public class SpringBootStartApplication extends SpringBootServletInitializer {
 @Override
 protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    //注意这里的参数要指向原先用main方法执行的Application启动类 
    return builder.sources(SsoApplication.class);
 } 
}

4.右边栏依次点击maven模块Lifecycle中的clean和install进行打包
在这里插入图片描述

出现下图所示表示打包成功
在这里插入图片描述

5.打开target目录,ctrl+c复制war包
在这里插入图片描述

6.打开事先准备好的tomcat,并将刚复制的war包黏贴到webapp目录下
在这里插入图片描述

7.手动解压或直接bin目录下startup.bat启动tomcat,完成springboot项目打包放在tomcat上运行

8.如需修改端口号,进入到conf目录下,找到server.xml打开,找到此语句块修改port即可。

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<think>嗯,用户想知道如何将Spring Boot项目部署到Tomcat运行。首先,我需要回想一下相关的知识。记得Spring Boot默认是内嵌Tomcat,直接打包成JAR运行的。但如果要部署到外部的Tomcat,需要做一些调整。 首先,用户需要将项目打包成WAR而不是JAR。这涉及到修改pom.xml文件,把打包方式从jar改成war。然后,可能需要排除内嵌的Tomcat依赖,避免冲突。这时候应该引用相关的引用内容,比如引用[3]提到要修改Maven的打包方式。 接下来,可能需要让主类继承SpringBootServletInitializer,并重写configure方法。引用[2]中的DemoApplication扩展了这个类,所以需要指导用户修改他们的主类。这部分需要注意代码的正确性,确保用户不会出错。 然后,配置Tomcat的相关部分。比如,在application.properties中设置上下文路径和端口,不过如果部署到外部Tomcat,端口可能由Tomcat控制,这部分可能需要说明。另外,打包后的WAR文件需要放到Tomcat的webapps目录下,或者通过Tomcat Manager部署,引用[4]中有提到这些方法。 可能还需要考虑多实例部署的情况,比如使用不同的端口或者Docker容器。不过用户可能暂时只需要基础配置,所以这部分可以作为扩展提到。 最后,用户可能会有疑问,比如依赖冲突或者访问路径问题,应该在注意事项里提醒他们检查依赖和日志。同时,生成相关问题可以帮助用户深入了解更多优化或配置细节,比如性能调优或者多环境配置。 总之,步骤应该是:修改打包方式,排除内嵌Tomcat,调整主类,配置Tomcat打包部署,最后验证。确保每一步都清晰,并引用正确的参考资料,这样用户能一步步跟着操作,避免常见错误。</think>### 如何将Spring Boot项目部署到Tomcat运行? #### 步骤 1:修改项目打包方式 1. 在`pom.xml`中修改打包格式为`war`: ```xml <packaging>war</packaging> ``` 2. 排除Spring Boot内嵌的Tomcat依赖(避免冲突)[^3][^4]: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> <!-- 声明为外部提供 --> </dependency> ``` #### 步骤 2:修改主启动类 继承`SpringBootServletInitializer`并重写`configure`方法,以支持外部Tomcat启动[^2][^4]: ```java @SpringBootApplication public class DemoApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(DemoApplication.class); } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` #### 步骤 3:配置Tomcat部署参数 在`application.properties`中添加以下配置(可选): ```properties server.servlet.context-path=/myapp # 设置应用上下文路径 server.port=8080 # 仅在内嵌Tomcat运行时生效,外部Tomcat忽略此配置 ``` #### 步骤 4:打包与部署 1. 通过Maven打包生成WAR文件: ```bash mvn clean package ``` 2. 部署到Tomcat: - **方式1**:将生成的`myapp.war`直接复制到Tomcat的`webapps`目录,Tomcat会自动解压并部署。 - **方式2**:通过Tomcat Manager上传并部署(需配置管理员权限)。 #### 验证部署 1. 启动Tomcat: ```bash ${TOMCAT_HOME}/bin/startup.sh # Linux ${TOMCAT_HOME}/bin/startup.bat # Windows ``` 2. 访问应用: ``` http://localhost:8080/myapp ``` #### 注意事项 - **依赖冲突**:确保项目中无与Tomcat版本冲突的依赖(如Servlet API)。 - **日志查看**:部署失败时可检查`${TOMCAT_HOME}/logs/catalina.out`。 - **上下文路径**:若WAR文件名与访问路径不一致,需在Tomcat的`server.xml`中配置`Context`。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值