前言

直接开始吧,非Web项目部署很简单的,没有繁杂的配置

有些小伙伴说非Web的项目运行一下就自己停止了,我还写了一篇很简单的设置定时任务,就是每隔5秒运行一次,永不停止这样,传送门:Java实现非Web项目的Springboot定时任务(每3秒自动执行一次)


一、修改pom.xml配置文件

我以Maven为例

我的项目在本地启动以后是这样的,等下部署后在服务器启动也是这个样子的,先停止它。

在这里插入图片描述

打开pom.xml,对比一下你的 <build> 里面是不是缺少下方的代码,自行添加缺少的配置。注意!如果你的 <build> 里面 spring-boot-maven-plugin 的 configuration 里面有 ==lombok== 的配置,一定要==删掉==,不然可能会打包失败,删掉lombok的配置不会影响lombok的使用。<mainClass>标签里面是自己项目的主启动类路径,自己换一下。

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
47
48
49
50
51
52
53
54
55
56
57
58
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<!--打包部署需要的配置,开启true-->
<includeSystemScope>true</includeSystemScope>
</excludes>
</configuration>
</plugin>

<!--打包部署需要的配置-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<!--解决打包部署报错no main manifest attribute, in 。。。jar-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.zjsos.pingyangparkinglot.PingyangParkinglotApplication</mainClass>
<!--第三方包需要这个配置才能打包进去-->
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>

<plugin>
<!--热部署配置-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--fork:如果没有该项配置,整个devtools不会起效果-->
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>

二、开始打包

首先,点击idea下方的“Terminal”

在这里插入图片描述

然后在里面输入“mvn clean”,回车

在这里插入图片描述

等待它完成后,再输入“mvn package”,回车,等待出现到这一步,打包就完成啦,jar包路径在项目根目录的target文件夹里

在这里插入图片描述

打开 target ,里面有以你的项目名命名的jar包

在这里插入图片描述

部署到服务器之前可以先测试一下jar包是否正常,在jar包所在的文件夹路径栏输入cmd,回车,会打开命令行

在这里插入图片描述

在命令行里输入 java -jar 你的jar包名.jar ,回车,即可运行

在这里插入图片描述

运行正常,我们把它部署到服务器


三、部署到服务器

服务器系统以没有界面的 Centos7 为例,连接工具使用的是 Xshell ,打开 Xshell ,左上角新建,“主机”输入要连接的服务器IP,端口如果没有特别改动的话一般是 22 或者 122

在这里插入图片描述

输入完 IP 和端口以后,点击左边“用户身份验证”,输入账号密码,点连接

在这里插入图片描述

出现 Welcome to xxx 连接成功

在这里插入图片描述

把项目部署在我们挂载的主目录,挂载就不讲了,你们购买的服务器都是挂载好的,弄清楚是哪个文件夹就可以了,我的是/data,进入到/data,创建项目文件夹,进入文件夹

在这里插入图片描述

然后点击Xshell上面这个绿色的,是开启本机和服务器图形界面的文件传输框Xftp,左边在本机找到jar包,拖到右边服务器

在这里插入图片描述

在这里插入图片描述

然后返回到 Xshell ,运行jar包,但是这种运行方式只是暂时的,离开这个界面就会停止,下面的方法可以让项目一直运行

在这里插入图片描述

首先下载我给的文件,这是jar在linux上启动的通用脚本,不需要积分
启动脚本和配置文件下载
下载完成后把解压出来的文件夹里的文件拖到服务器jar包所在的文件夹

在这里插入图片描述

输入 ls 查看文件,然后输入 sh build.sh 来运行这个文件,会显示构建成功,这时会发现多了一个autoScript文件夹,cd autoScript,里面有几个sh文件,sh startup.sh ,项目就会启动了,并且永远不会停止,除非你运行 sh shutdown.sh。OK,完成。放心的退出你的服务器吧。

在这里插入图片描述


总结

本编以Maven为例打包,但是打完包以后,部署到服务器的操作都是一样的,启动脚本里面的 indolent.properties 配置文件可以配置 nacos 上的配置文件,个人的小项目暂时用不到,后面会写部署Springboot的Web项目,这个环境的配置就比较复杂了,但是我目前用的是一键部署的神器,宝塔面板,不用安装和配置环境,传送门:记Linux使用宝塔部署Vue+Springboot前后端分离项目