披萨盒的赛博日志

披萨盒的博客

马上订阅 披萨盒的赛博日志 RSS 更新: https://blog.pushihao.com/atom.xml

部署项目时遇到的坑

2022年9月9日 09:34

前言

前端时间学习过程中写了几个小 Demo,但都是在本机开发环境下运行的。本以为部署到服务器就是简单把文件上传就可以。结果踩了一些很可笑的坑🤣🤣


部署普通 JavaEE 项目

这个比较简单,用 Maven 把项目打成 War 包,然后上传至 Tomcat 目录的 webapps 目录下,并且启动 Tomcat 服务即可。Tomcat 会自动将 War 包进行解压缩。然后访问 ip:port/project_name-project_version 即可看到项目首页。

需要注意的是:项目中的所有涉及到路径跳转的 url 都尽量使用相对路径


部署 Spring Boot 项目

问题说明

我使用的 IDE 是 Intellij IDEA,开发时项目在本地运行正常。使用 Maven 将其打包后,运行 java -jar test-2.0-SNAPSHOT.jar 出现错误:

image-20220909100617063

翻译过来就是:这个 jar 包中没有主清单属性


原因解读

出现此问题的原因是打包后的 jar 文件中的 MANIFEST.MF 缺少项目启动项。我们用压缩软件打开 jar 包,查看 META-INF 下的 MANIFEST.MF 文件

image-20220909102021957

第一时间想到的是没有 Start-Class 配置项


解决方案

在项目中添加 spring-boot-maven-plugin 打包插件。

pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?xml version="1.0" encoding="UTF-8"?>...

剩余内容已隐藏

查看完整文章以阅读更多