SpringBoot + Vue打包部署到本地和远程服务器

article/2025/10/13 16:28:31

        最近碰到有人问如何将SpringBoot和Vue进行打包部署到Tomcat服务器,由于Vue接触不是很久所以我自己也感兴趣是如何打包部署到本地或者远程服务器上(云端)。恰好手上也有一个案例需要部署到远程Tomcat空间,琢磨了一点时间总算是搞清楚一些了,分享给大家!

PS: 网上太多说如何打包部署的,但是真的没有说清楚都是说了个大概,还有很多都是抄袭他人也不管是否正确,所以只有自己亲自验证才懂得!

关于SpringBoot项目的搭建,这里就不再啰嗦,有不会的请自己去百度或购买书籍学习了。现在假设我们的项目已经写好了,需要进行部署,以这个为条件来说明。

实施环境:采用前端Vue + 后端SpringBoot 项目是前后分离的,一个工程,如下图:

 随便使用一个案例作为介绍(Vue和项目在一起)前后分离方式

Maven管理

打包部署方式一:

后端打包成Jar包(默认方式),在本地电脑上通过 Java -jar xxxxxxx.jar 命令进行运行。操作如下:

 POM默认情形下就是Jar打包,也可以加入 <packaging>jar</packagin>显式指明,点击右边Maven侧栏,如下图:

 双击,就可以进行打包(项目均按照创建的时候,自动生成的设置来完成)。如果没有问题,打包成功,会出现target目录,展开有打包好的jar文件,如下图:

 展开如下,要想名字看起来舒服点,在build里面加入 finalName 就可以,如下图:

 打包就完成了,通过Java命令来运行,前端访问即可。

打包部署方式二:

将后端打包成War包,让后将war文件部署(拷贝)到本地Tomcat服务器里,位置为:webapps文件夹下即可。区别不是很大,打包方式为 war 。看图:

 

 由于SpringBoot内嵌了9.0Tomcat,所以需要排除,由外部Tomcat负责运行:

或者改为加上下面依赖 (二选一):

         

 双击 Maven 的 packaging 运行打包即可(最好先运行 clean ):

 将 war 文件拷贝到 Tomcat 目录的 webapps 文件夹里即可。会自动扫描部署:

 前端继续保持serve运行,可以访问。

部署方式三(重点):

由于前后分离,前端一个服务,后端一个服务,也就是开了两个服务。总不能说要运行的时候,还要单独把前端开启吧,所以如何将2个合并在一起部署到本地或者远程服务器,这个才是重点!

有个前提大家要理解:合并以后项目只有一个了,所以就不会存在跨域的问题,所以重点就是前端的设置才是重点。

按照以下步骤可以顺利的解决这些问题:

1. 前端里,将vue.config.js文件里的跨域注释掉,并且加入publicPath : '访问路径' 这点很重要,如图:

 2. 将前端里所有请求前面的 /api/xxxx 都删除为 只留下 xxxx 即可,如图:

 3. 打包前端内容:  npm run build 

打包后会生成一个 “dist” 的文件夹,里面就是要合并到后端里的静态文件,

4. 将里面的内容全部拷贝到后端的 resources目录下的 static 文件夹里即可。

 5. 打包后端为 war 包,拷贝到 Tomcat 的 webapps 目录下即可。

大家可以按照上面的方法去做下,看是否能成功,亲自测试没有问题。

如果是部署到云端的话,前端 publicPath 一定是为 “/” 否则访问不到哦!

希望对大家有作用,有疑问的地方可以留言。 

 


http://chatgpt.dhexx.cn/article/urMgIYvH.shtml

相关文章

Vue项目如何打包并部署(nginx)

使用场景: 我们常使用前后端分离项目时,会需要将前端vue打包然后部署。 一.打包 vue项目其实可以直接通过一下语句进行打包&#xff1a; npm run build 默认打包情况如下: 当我们需要将打包名称以及静态资源位置进行修改时便需要进行相应的配置: 1.首先在项目根目录下创建…

Vue项目打包以及部署

一. 打包 npm run build 打包项目后&#xff0c;出现dist文件夹&#xff0c;dist文件夹下的东西就是需要部署的项目。 但是遇到问题&#xff1a;index.html页面出现一片空白&#xff0c;右键检查network发现一堆错误。 解决&#xff1a;没有修改config配置文件&#xff0c;如果…

vue项目打包布署

我们使用Vue做项目时&#xff0c;基本都是前后端分离的&#xff0c;所以项目布署有时是前后单独部署。因此前端开发人员很有必要熟悉一下项目部署的流程。 Vue项目打包部署本身不复杂&#xff0c;不过一些前端同学可能对服务器接触不多&#xff0c;部署过程中还是会遇到这样那…

N皇后问题及答案解

题目 在一张N∗N的国际象棋棋盘上&#xff0c;放置N个皇后&#xff0c;使得所有皇后都无法互相直接攻击得到&#xff0c;&#xff08;皇后可以直接攻击到她所在的横行&#xff0c;竖列&#xff0c;斜方向上的棋子&#xff09;&#xff0c;现在输入一个整数N&#xff0c;表示在N…

N皇后问题递归求解(内附详细代码)

N皇后问题递归求解&#xff08;内附详细代码&#xff09; 内容描述 在n*n的方格棋盘上&#xff0c;放置n个皇后&#xff0c;要求每个皇后不同行、不同列、不同对角线。 解题思路 下面我们以4皇后问题举例&#xff1a; 设queen(i&#xff0c;n)是在1&#xff5e;i-1行上已经放…

八皇后 N皇后

参考打蓝桥杯的通信人 如侵删 所有代码与原博主的代码相似 自作主张的觉着数组设置的太多辽想着改一下代码 写了一个set函数起初简单的认为 把每一个数组元素设置为0 1即可 跑起来后发现有错误 后来修改发现可以设置数组元素 x 只要在同行列或者对角线就会1 符合多个条件就会再…

n皇后学习

洛谷P1219 回溯 #include<cstdio> const int N 13; int n, cnt, ans[N]; void dfs(int row) {if (row n) {if (cnt < 3) {for (int i 0; i < n; i) {if (i > 0)printf(" ");printf("%d", ans[i] 1);}printf("\n");}cnt;ret…

N皇后(回溯算法)

题目 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。等价于要求任何两个皇后都不能在同一行、同一列以及同一条斜线上 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。 如图&#xff1a;黄色代表放…

求解n皇后

要求&#xff1a;在国际象棋上摆放n个皇后&#xff0c;使其不能互相攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上&#xff0c;问有多少种摆法 思路&#xff1a;很直观的想法就是在棋盘上一个一个皇后的摆&#xff0c;如果冲突&#xff0c;则摆放在另一…

n皇后 - 位运算版

n皇后问题是大家在递归里会碰到的一个经典问题。以前高中我学DFS的时候&#xff0c;老师首先让我看的就是八皇后。 不过这皇后的时间复杂度大家可想而知了。而接下来的位运算将这个效率重新提到一个高度。 我是以前在Matrix67大牛那里学的&#xff0c;最近数据结构实验刚好碰到…

n皇后最快算法详解

n皇后问题再经典不过了&#xff0c;想必大家也听说过。 再简单说一下吧&#xff0c;就是一个n*n的棋盘&#xff0c;放置n个皇后&#xff0c;使得竖着不攻击&#xff0c;横着不攻击&#xff0c;斜着不攻击。求有多少种方法。 &#xff08;国际象棋不是这么玩的呀 &#xff09; …

51. N 皇后

51. N 皇后 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方…

51. N皇后

51. N皇后 https://leetcode-cn.com/problems/n-queens/ 四皇后的解 n个皇后&#xff0c; nn 的棋盘上 根据要求 每行有且仅有一个皇后&#xff08;如果有一行没有那么必有一行至少两个皇后&#xff0c;不符合&#xff09; 递归回溯&#xff0c;每次尝试在一行中摆放皇后&…

递归算法——n皇后

** 递归算法——n皇后 ** n皇后问题&#xff1a; 输入整数n&#xff0c;要求n个国际象棋的皇后&#xff0c;摆在n*n的棋盘上&#xff0c;互相不能攻击&#xff0c;输出全部方案。 输入&#xff1a; 输入一个正整数N。 输出&#xff1a; 程序输出N皇后问题的全部摆法。 行里…

kettle连接mysql教程_KETTLE初学者使用教程

Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新:kettle会自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录。若存在,则更新。 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳…

Kettle Spoon 安装配置详解

文章目录 1 概述2 安装2.1 软件下载2.2 JDK 环境变量配置2.3 数据库驱动包下载2.4 双击 Spoon.bat 启动 3 简单使用3.1 transformation 转换3.1.1 文件 - 新建 - 转换3.1.2 核心对象 - 输入 - 表输入3.1.3 核对对象 - 输出 - 插入/更新3.1.4 保存 - xxx.ktr 3.2 job 作业3.2.1 …

Spoon安装步骤

主数据库连接步骤 主对象树点击转换&#xff0c;双击DB连接 配置信息完成后点击测试成功 二&#xff0e;源数据库连接步骤 1.点击Connect,点击other repositories 2.点击Database Repository 编辑名称&#xff08;注意必须用英文&#xff09; 再点击数据库连接 配置选项 …

kettle下载安装使用教程

Kettle简介 Kettle是一款国外开源的ETL工具&#xff0c;纯java编写&#xff0c;可以在Window、Linux、Unix上运行&#xff0c; 数据抽取高效稳定。Kettle 中文名称叫水壶&#xff0c;该项目的主程序员MATT 希望把各种数据放到一个壶里&#xff0c;然后以一种指定的格式流出。K…

KETTLE使用教程

Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新&#xff1a;kettle会自动对比用户设置的对比字段&#xff0c;若目标表不存在该字段&#xff0c;则新插入该条记录。若存在&#xff0c;则更新。 Kettle简介&#xff1a;Kettle是一款国外开源的ETL工具&#xff0…

spoon mysql教程_kettle 教程(一):简介及入门

介绍 kettle 是纯 java 开发&#xff0c;开源的 ETL工具&#xff0c;用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面&#xff0c;也有命令脚本还可以二次开发。 安装 这边以 windows 下的配置为例&#xff0c;linux 下配置类似。 jdk 安装及配置环境…