在Tomcat下部署若依框架前后端分离SpringBoot+Vue3项目
一、后端打包
在ruoyi项目的bin目录下执行package.bat打包Web工程,生成war/jar包文件。
然后会在项目下生成target文件夹包含war或jar
1.jar包
使用命令行执行:java –jar ruoyi-admin.jar 或者执行脚本:ruoyi/bin/run.bat
注意事项【jar包部署,需要使用nginx代理,前端项目中的代理仅能在本地使用】
2.war包
将ruoyi/ruoyi-admin/pom.xml中的packaging修改为war
<packaging>war</packaging>
修改ruoyi-framework/pom.xml,增加去除SpringBoot的内嵌tomcat的设置
<!-- 多模块排除内置tomcat --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency>
将admin-ruoyi/target下生成的war包放到tomcat/webapp/下即可
二、前端打包
1.打包
# 打包正式环境
npm run build:prod
打包之后会在项目中生成一个dist文件夹
2.增加web.xml文件
进入到dist目录中,新建文件夹WEB-INF,在此文件夹下创文web.xml文件夹。【如果少设置这一步,F5 刷新页面将显示404。产生原因: 前后端分离开发,前端为SPA应用,路由模式导致】
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1" metadata-complete="true"> <display-name>/</display-name> <error-page> <error-code>404</error-code> <location>/index.html</location> </error-page> </web-app>
三、部署前后端的包
1.修改Tomcat配置文件server.xml,增加配置
<Context docBase="dist" path="" reloadable="false"/> <Context docBase="ruoyi-admin" path="/prod-api" reloadable="false"/>
2.将后端war包、前端dist文件夹上传至tomcat/webapp下
3.启动tomcat,在tomcat/bin下执行startup.sh即可,启动后能访问到服务即可