使用Maven打包SpringBoot项目部署到Linux服务器

本文介绍了如何在Maven配置文件中打包SpringBoot项目,使用`mvnpackage`命令编译并生成jar包,排除测试类影响,以及如何在Linux服务器上安装Java并部署jar包,包括使用nohup命令实现后台运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译打包

1、在pom.xml中配置打包所需的Maven插件
 <!--打成jar包 -->
 <packaging>jar</packaging>
 <build>
    <!--打成jar包的名称-->
    <finalName>demo</finalName>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>3.2.3</version>
      </plugin>
      <plugin>
        <!--排除测试类对打包的干扰-->
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <testFailureIgnore>true</testFailureIgnore>
        </configuration>
      </plugin>
    </plugins>
  </build>
2、在命令行执行mvn package

package将会编译代码,并打包,最终按照maven规定的packaging方式打包,最终输出到目标目录中。

# 执行mvn clean,移除之前的target目录
mvn clean
# 切换到项目路径下,执行mvn package指令
mvn package

最终在target目录下生成了jar包,进入target目录会发现存在两个文件:demo.jar 和 demo.jar…original.
.jar:可执行的jar包,包含已编译的类以及运行所需要的所有jar依赖。

可以通过:jar tvf target/demo.jar 查看里面都包含什么
.jar.original比前者小的多,这是Maven在Spring Boot进行repackage之前创建的原始jar文件,通过上面的命令,可以看到里面没有运行需要的依赖,只包含我们定义的类编译后的.class文件。

部署到linux服务器

1、在linux服务器上安装java

下载地址:https://www.oracle.com/cn/java/technologies/downloads/

2、运行jar包

将demo.jar上传到服务器,并在服务器上执行jar包;

nohup java -jar demo.jar > /dev/null 2>&1 &

其中,demo.jar是您要启动的JAR文件的名称。
这个命令中的nohup表示不挂断地运行命令,执行后会返回程序进程的PID,> /dev/null 2>&1表示将标准输出和标准错误输出重定向到/dev/null,以防止输出被打印到终端上。最后的&表示将命令放入后台运行。


### 部署 Java SpringBoot 项目Linux 的宝塔面板 #### 准备工作 在开始之前,确保已经完成以下准备工作: - 已经拥有一个可以正常运行的 SpringBoot 项目。 - 购买了支持 Linux 系统的云服务器(如腾讯云或其他服务商)并已成功连接至该服务器。 - 在本地开发环境中测试过项目的功能。 #### 打包 SpringBoot 项目为 JAR 文件 为了能够顺利部署到远程服务器上,需要先将 SpringBoot 应用程序打包成可执行的 JAR 文件。可以通过 Maven 或 Gradle 构建工具实现这一目标[^1]。 ```bash mvn clean package -DskipTests=true ``` 上述命令会清理旧的目标目录、编译源码以及跳过单元测试从而生成最终产物——位于 `target` 文件夹下的 `.jar` 文件[^2]。 #### 安装 JDK 和 MySQL 数据库服务 登录到您的 Linux 服务器并通过 SSH 终端或者通过宝塔管理后台进入命令行界面。首先确认是否安装了最新版本的 OpenJDK: ```bash java -version ``` 如果没有找到合适的 JDK 版本,则需下载适合您系统的 JDK 并按照官方文档指示进行安装。对于 MySQL 数据库同样如此,也可以借助宝塔面板图形化操作简化流程。 #### 使用宝塔面板上传文件与配置环境变量 利用宝塔提供的便捷方式快速完成文件传输任务而不必依赖复杂的 FTP 设置过程。具体步骤如下所示: 1. 登录到宝塔官网注册账户绑定域名解析指向对应 IP 地址; 2. 创建站点关联磁盘路径作为存储位置; 3. 将刚才构建好的 jar 包拖拽上传至此处指定区域等待进度条结束即表示成功传送完毕; 接着,在同一界面上方导航栏选择“软件商店”,搜索并点击安装所需的 JDK 及 Nginx (用于反向代理访问) 。完成后记得重启所有相关进程以应用更改效果。 #### 启动应用程序 当一切准备就绪之后就可以尝试启动我们的 spring boot 应用了。切换回 ssh session 输入下面这条简单的 java 命令即可让其作为一个守护线程持续运作下去直到人为干预停止它为止 : ```bash nohup java -jar your-application-name.jar > app.log & ``` 这样不仅可以让程序保持在线状态而且还能把日志记录重定向保存起来方便后续排查错误信息。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值