SpringBoot项目:前后端打包与部署(使用 Maven)

文章目录

  • [IDEA后端打包与部署(使用 Maven)](#IDEA后端打包与部署(使用 Maven))
    • [1. 确保 Maven 已安装,并引入 pom 插件](#1. 确保 Maven 已安装,并引入 pom 插件)
    • [2. 清理并安装项目](#2. 清理并安装项目)
    • [3. 定位生成的 JAR 包和配置文件](#3. 定位生成的 JAR 包和配置文件)
    • [4. 创建部署文件夹](#4. 创建部署文件夹)
    • [5. 上传到服务器](#5. 上传到服务器)
  • [前端打包与部署(使用 npm)](#前端打包与部署(使用 npm))
    • [1. 确保 Node.js 和 npm 已安装](#1. 确保 Node.js 和 npm 已安装)
    • [2. 安装依赖](#2. 安装依赖)
    • [3. 构建生产环境代码](#3. 构建生产环境代码)
    • [4. 准备部署文件夹](#4. 准备部署文件夹)
    • [5. 上传到服务器](#5. 上传到服务器)
  • 自动化的想法
  • 可能出现的异常
  • 参考

IDEA后端打包与部署(使用 Maven)

1. 确保 Maven 已安装,并引入 pom 插件

1.1 如果使用私有仓库,确保在 ~/.m2/settings.xml 中配置好仓库信息和认证。

详细操作可以参考Maven中的配置文件

1.2 使用 IDEA 自带的 Maven,然后添加依赖:

xml 复制代码
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

注意:希望打包出什么东西、什么形式,都可以通过添加插件进行控制。

2. 清理并安装项目

  • 首先执行 clean
  • 然后进行打包。

关于 Maven 的生命周期 ,可以参考这篇文章:Maven的生命周期

3. 定位生成的 JAR 包和配置文件

  • 生成的 JAR 包通常位于 target 目录下,例如 target/your-app.jar
  • 配置文件(如 application.propertiesapplication.yml)位于 src/main/resources 目录下。

4. 创建部署文件夹

  • 创建一个新的文件夹用于存放要部署的文件,例如 deploy-backend
  • 将生成的 JAR 包和配置文件复制到该文件夹中(可以增加一个 conf 配置文件夹)。

5. 上传到服务器

根据实际需求,通过 Git、SVN 等方式上传到服务器。


前端打包与部署(使用 npm)

1. 确保 Node.js 和 npm 已安装

  • 检查是否已安装 Node.js 和 npm:
bash 复制代码
node -v
npm -v

2. 安装依赖

在前端项目根目录下执行:

bash 复制代码
npm install

3. 构建生产环境代码

执行构建命令:

bash 复制代码
npm run build:prod

这将在项目目录下生成一个 dist 文件夹,里面包含编译后的静态文件。

4. 准备部署文件夹

  • 创建一个新的文件夹用于存放要部署的前端文件,例如 deploy-frontend
  • dist 文件夹中的必要文件复制到该文件夹。
  • 如果有特殊的配置文件或其他需要的文件,确保也一并复制。

5. 上传到服务器

同样,根据需求上传到服务器。


自动化的想法

为了提高效率,可以编写脚本来自动化整个打包和部署过程。例如,使用 Bash 脚本。

如果大家有任何自动化相关的想法,可以一起讨论。


可能出现的异常

Maven 打包时报错 org.apache.maven.surefire:surefire-junit4:jar

maven-surefire-plugin 用于运行单元测试。在提供的配置中,<skipTests>true</skipTests> 表示在构建时跳过测试的执行,这通常用于加快构建过程。

xml 复制代码
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <skipTests>true</skipTests>
            </configuration>
        </plugin>
    </plugins>
</build>

参考

相关推荐
24k小善2 分钟前
FlinkSql入门与实践
java·大数据·flink·云计算
FJW02081411 分钟前
【Linux】web服务器的部署和优化
linux·运维·服务器·rhce
CodeCraft Studio15 分钟前
Excel处理控件Spire.XLS系列教程:Java设置Excel活动工作表或活动单元格
java·python·excel
海底火旺17 分钟前
JavaScript中的Object方法完全指南:从基础到高级应用
前端·javascript·面试
Linux运维老纪18 分钟前
Python文件操作及数据库交互(Python File Manipulation and Database Interaction)
linux·服务器·数据库·python·云计算·运维开发
海底火旺18 分钟前
JavaScript中的Symbol:解锁对象属性的新维度
前端·javascript·面试
天天扭码18 分钟前
一文吃透 ES6新特性——解构语法
前端·javascript·面试
Kagerou19 分钟前
组件测试
前端
JustHappy22 分钟前
啥是Hooks?为啥要用Hooks?Hooks该怎么用?像是Vue中的什么?React Hooks的使用姿势(上)
前端·vue.js·react.js
余渔鱼112328 分钟前
ASP.NET CORE部署IIS的三种方式
后端·github·asp.net