spring boot 部署到tomcat
2024-08-25 06:59:41
网上很多文章描述过,当我按步骤做时会抛各种错误,最后记录下我的做法(成功发布到本地 Tomcat9 ):
1.将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean; import javax.servlet.MultipartConfigElement; @SpringBootApplication
public class Application extends SpringBootServletInitializer { @Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
} public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
2.在pom.xml文件中,project下面增加package标签
<packaging>war</packaging>
完成以上2步我就可以打包了
1.先进入项目根目录(eg: D:\jhipster_project\demo ),执行 mvn clean package ,将项目打包为war包。
2. 将target 目录中的 demo-0.0.1-SNAPSHOT.war 文件复制到你所安装的tomcat目录中webapps目录中,然后去掉工程后边的后缀,变成 demo.war
需要注意的是这样部署的request url需要在端口后加上项目的名字才能正常访问
eg: http://localhost:8080/demo/***
最后记录下我的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com</groupId>
<artifactId>ccr</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging> <name>ccr</name>
<description>CCR project for Spring Boot</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- war 插件来定义打包以后的 war 包名称 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>demo</warName>
</configuration>
</plugin>
</plugins>
</build> <repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories> <pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories> </project>
其实也可以在创建 spring boot 项目时选择 Packaging:war
最新文章
- git版本控制管理实践-2
- HTML5新增元素
- XE3随笔21:系统默认语言与系统支持的语言列表
- Delphi cxGrid –-->; RecordIndex out of Range
- Codeforces Round #162 (Div. 2)
- UI1_UIButton
- VBS基础篇 - 运算符
- ASIC 前端功能验证等级与对应年薪划分[个人意见] (2011-07-04 15:33:35
- Eclipse(Myeclipse)安装GoogleGWT
- libevent入门(1)
- Sorting Slides(二分图匹配——确定唯一匹配边)
- django.db.utils.ProgrammingError: 1146 的解决办法
- 一道dfs和dp结合的好题 --- Longest Run on a SnowboardUVA-10285
- mySQL的行转列
- 内存地址 id
- Oracle 11g透明网关连接Sqlserver 2000(转)
- MySql实现sequence功能的代码
- abap对象的创建和调用。方法调用
- vue 父组件使用子组件中的data或methods
- 【Android优化篇】提升Activity加载速度的方法
热门文章
- 区块链知识博文1: 共识算法之争(PBFT,Raft,PoW,PoS,DPoS,Ripple)
- 第5.2节 Python的函数参数收集
- 第8.8节 Python使用__new__方法和构造方法__init__完成类实例化的过程详解
- PyQt(Python+Qt)学习随笔:QListWidget删除项的takeItem方法
- Get请求Test
- Leetcode学习笔记(1)
- linux进程管理(linux命令安装、进程生命周期、进程状态)
- 算法——模拟LRU机制
- 四、git学习之——分支管理、解决冲突
- python最大几个数和最小几个数(堆排序)