网上很多文章描述过,当我按步骤做时会抛各种错误,最后记录下我的做法(成功发布到本地 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

最新文章

  1. git版本控制管理实践-2
  2. HTML5新增元素
  3. XE3随笔21:系统默认语言与系统支持的语言列表
  4. Delphi cxGrid –--&gt; RecordIndex out of Range
  5. Codeforces Round #162 (Div. 2)
  6. UI1_UIButton
  7. VBS基础篇 - 运算符
  8. ASIC 前端功能验证等级与对应年薪划分[个人意见] (2011-07-04 15:33:35
  9. Eclipse(Myeclipse)安装GoogleGWT
  10. libevent入门(1)
  11. Sorting Slides(二分图匹配——确定唯一匹配边)
  12. django.db.utils.ProgrammingError: 1146 的解决办法
  13. 一道dfs和dp结合的好题 --- Longest Run on a SnowboardUVA-10285
  14. mySQL的行转列
  15. 内存地址 id
  16. Oracle 11g透明网关连接Sqlserver 2000(转)
  17. MySql实现sequence功能的代码
  18. abap对象的创建和调用。方法调用
  19. vue 父组件使用子组件中的data或methods
  20. 【Android优化篇】提升Activity加载速度的方法

热门文章

  1. 区块链知识博文1: 共识算法之争(PBFT,Raft,PoW,PoS,DPoS,Ripple)
  2. 第5.2节 Python的函数参数收集
  3. 第8.8节 Python使用__new__方法和构造方法__init__完成类实例化的过程详解
  4. PyQt(Python+Qt)学习随笔:QListWidget删除项的takeItem方法
  5. Get请求Test
  6. Leetcode学习笔记(1)
  7. linux进程管理(linux命令安装、进程生命周期、进程状态)
  8. 算法——模拟LRU机制
  9. 四、git学习之——分支管理、解决冲突
  10. python最大几个数和最小几个数(堆排序)