当前位置: 首页 > article >正文

保姆级教程:用IDEA和VSCode搞定RuoYi-Vue 3.7.0的War包部署(含JDK1.8+MySQL5.7环境)

从零构建RuoYi-Vue 3.7.0生产环境IDE高效部署实战手册在前后端分离架构成为主流的今天RuoYi-Vue作为基于Spring BootVue的快速开发框架凭借其丰富的功能模块和清晰的代码结构已成为企业级应用开发的热门选择。但许多开发者在首次部署时常因环境配置差异、工具链不统一等问题陷入明明按照文档操作却无法正常运行的困境。本文将基于工具链锁定和版本固化的思路通过IntelliJ IDEA和Visual Studio Code这两款主流IDE配合JDK 1.8MySQL 5.7的经典环境组合带你完成一次高可复现的War包部署全流程。1. 环境准备与工具配置1.1 开发环境标准化清单部署RuoYi-Vue 3.7.0需要确保以下环境完全匹配版本偏差可能导致不可预期错误组件指定版本验证命令JDK1.8.xjava -versionMySQL5.7.xmysql --versionRedis4.0.xredis-server -vTomcat8.5.xcatalina.sh versionNode.js14.xnode -vnpm6.xnpm -v提示建议使用Docker创建隔离环境避免与现有开发环境冲突。例如MySQL 5.7可通过docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD123456 -p 3306:3306 -d mysql:5.7快速部署1.2 IDE关键插件安装在IntelliJ IDEA中需确保已安装Lombok Plugin避免编译时注解报错Maven Helper依赖冲突分析Database Tools数据库可视化操作VSCode前端开发推荐插件VolarVue 3语言支持ESLint代码规范检查npm Intellisense自动补全npm模块# 验证后端环境IDEA终端执行 mvn -v Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode) Apache Maven 3.8.6 # 验证前端环境VSCode终端执行 node -v v14.21.32. 后端工程War包化改造2.1 POM文件关键修改在IntelliJ IDEA中打开项目后需要对ruoyi-admin/pom.xml进行三处核心修改修改打包方式为warpackagingwar/packaging排除内嵌Tomcat避免与外部Tomcat冲突dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-tomcat/artifactId scopeprovided/scope /dependency添加构建插件确保静态资源正确打包plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-war-plugin/artifactId version3.3.2/version configuration warSourceDirectorysrc/main/webapp/warSourceDirectory /configuration /plugin2.2 配置文件精准调校application.yml需要特别注意以下参数server: servlet: context-path: / tomcat: basedir: /tmp/tomcat-temp # 避免Linux系统权限问题 spring: redis: host: 192.168.1.100 # 确保与Redis服务器IP一致 port: 6379 password: ruoyi123 # 生产环境建议使用Vault加密数据库连接池配置application-druid.ymlspring: datasource: druid: url: jdbc:mysql://localhost:3306/ry-vue?useUnicodetruecharacterEncodingutf8zeroDateTimeBehaviorconvertToNulluseSSLfalse username: root password: 123456 initial-size: 5 # 根据服务器配置调整 max-active: 20 # 生产环境建议503. 前端工程构建与优化3.1 依赖安装与构建加速在VSCode终端中执行以下命令前建议先配置淘宝镜像npm config set registry https://registry.npmmirror.com然后安装依赖使用--legacy-peer-deps避免版本冲突npm install --legacy-peer-deps生产环境构建命令需要添加--modern模式优化性能npm run build:prod -- --modern3.2 Nginx高级配置模板针对前后端分离架构推荐使用以下Nginx配置/etc/nginx/conf.d/ruoyi.confserver { listen 80; server_name your-domain.com; # 前端静态资源 location / { root /home/ruoyi/projects/ruoyi-ui/dist; try_files $uri $uri/ /index.html; expires 30d; add_header Cache-Control public, no-transform; } # 后端API代理 location /prod-api/ { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 60s; proxy_read_timeout 600s; } # 禁止访问敏感文件 location ~* ^/(WEB-INF|META-INF)/ { deny all; } }4. 部署实战与排错指南4.1 Tomcat服务器调优修改$TOMCAT_HOME/conf/server.xml中的Connector配置Connector port8080 protocolHTTP/1.1 connectionTimeout20000 redirectPort8443 maxThreads200 minSpareThreads20 acceptCount100 compressionon compressionMinSize2048 compressableMimeTypetext/html,text/xml,text/css,application/javascript/Context配置需特别注意解决404问题的关键Context path docBase/opt/tomcat/webapps/ruoyi-admin reloadablefalse Resources cachingAllowedtrue cacheMaxSize100000 / /Context4.2 常见问题速查表现象可能原因解决方案验证码不显示Redis连接失败检查spring.redis配置和防火墙规则接口404context-path不匹配统一前后端的prod-api路径前缀静态资源加载失败Nginx权限问题执行chown -R nginx:nginx /home/ruoyi数据库连接池耗尽连接泄漏在Druid中开启removeAbandoned参数4.3 性能监控建议部署完成后推荐在IDEA中配置Arthas远程诊断# 服务器上安装Arthas wget https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar ruoyi-admin.jar常用诊断命令dashboard实时系统监控trace com.ruoyi.*Controller *追踪方法调用链路profiler start生成火焰图分析性能瓶颈在项目成功运行后建议立即修改默认账号密码并开启Spring Security的CSRF防护。对于生产环境还应该配置HTTPS证书和定期备份策略。

相关文章:

保姆级教程:用IDEA和VSCode搞定RuoYi-Vue 3.7.0的War包部署(含JDK1.8+MySQL5.7环境)

从零构建RuoYi-Vue 3.7.0生产环境:IDE高效部署实战手册 在前后端分离架构成为主流的今天,RuoYi-Vue作为基于Spring BootVue的快速开发框架,凭借其丰富的功能模块和清晰的代码结构,已成为企业级应用开发的热门选择。但许多开发者在…...

量子基准测试:跨平台评估与模块化实践

1. 量子基准测试的核心价值与挑战量子计算机的性能评估与传统计算机有着本质区别。在经典计算中,我们习惯用每秒浮点运算次数(FLOPS)或指令吞吐量来衡量性能。但量子计算机的"性能"是一个多维度的概念,需要同时考虑计算精度、噪声抗性、资源消…...

别再死磕寄存器了!用官方固件库快速上手CY7C68013A与FPGA的USB通信

告别寄存器噩梦:用官方固件库三小时搞定CY7C68013A与FPGA的USB通信 当开发板上的CY7C68013A芯片静静躺在你的工作台上,你是否已经预见到接下来要面对的数百页寄存器手册?这种场景对嵌入式开发者来说再熟悉不过——我们总在底层配置和实际功能…...

DataGrip|SQL 格式化深度调优:从通用规则到复杂语句编排

1. 为什么SQL格式化如此重要? 记得刚入行那会儿,我接手过一个遗留项目。打开SQL文件的那一刻,我差点崩溃——几百行的存储过程像一团乱麻,SELECT、JOIN、WHERE混作一团,有的逗号在行首,有的在行尾&#xff…...

90%时间节省:LaTeX2Word-Equation如何彻底改变学术公式处理流程

90%时间节省:LaTeX2Word-Equation如何彻底改变学术公式处理流程 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 根据对500名科研工作…...

互联网大厂 Java 面试:从音视频场景到微服务的深入探讨

互联网大厂 Java 面试:从音视频场景到微服务的深入探讨 在这篇文章中,我们将通过一场模拟面试,展示互联网大厂对 Java 开发者的面试过程。面试官将严肃提问,而候选人燕双非则以幽默的方式回应。我们将涵盖多个技术点与业务场景&am…...

代谢组学数据分析实战:用R语言从PCA、PLS-DA到OPLS-DA的保姆级代码流程

代谢组学数据分析实战:R语言实现从预处理到模型验证的全流程解析 当质谱仪输出的原始数据文件第一次呈现在你面前时,那些密密麻麻的代谢物浓度数值可能令人望而生畏。作为生物信息学领域的研究者,我们面对的不仅是海量数据,更是隐…...

Qwen3-4B-Thinking入门指南:无需Python基础的Web界面交互式使用教学

Qwen3-4B-Thinking入门指南:无需Python基础的Web界面交互式使用教学 1. 快速认识Qwen3-4B-Thinking Qwen3-4B-Thinking是基于通义千问Qwen3-4B官方模型开发的一个特殊版本,它最大的特点是具备"思考模式"(Thinking),能够在回答问题…...

互联网大厂 Java 求职面试:从基础到微服务的技术挑战

互联网大厂 Java 求职面试:从基础到微服务的技术挑战 在如今的技术驱动时代,Java 开发者的求职面试已经不再是单纯的技术问题,而是结合了具体的业务场景。以下是一次模拟的面试场景,面试官为严肃的技术专家,而候选人则…...

MacOS上VScode装PlatformIO卡死?试试这个官方脚本安装法(附详细日志)

MacOS开发者必备:PlatformIO官方脚本安装全指南与疑难解析 当你在VScode插件市场点击"Install"按钮后,进度条却像被冻住一样纹丝不动——这可能是许多MacOS开发者初次接触PlatformIO时共同的噩梦。不同于Windows系统的一键安装体验&#xff0c…...

告别Keil,在Vscode中用EIDE无缝衔接STM32CubeMX生态

1. 为什么选择VscodeEIDE替代Keil开发STM32 作为一名长期使用Keil MDK开发STM32的工程师,我深知传统开发环境的痛点:臃肿的IDE界面、缓慢的编译速度、有限的代码提示功能,以及高昂的授权费用。直到我发现了VscodeEIDE这套组合方案&#xff0c…...

Sunshine游戏串流终极方案:如何打破硬件束缚实现全平台游戏自由?

Sunshine游戏串流终极方案:如何打破硬件束缚实现全平台游戏自由? 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一个自托管、低延迟的游戏串流服…...

保姆级教程:用Node.js补环境搞定抖音a_bogus参数逆向(附完整代码)

Node.js实战:抖音a_bogus参数逆向全流程解析与代码实现 最近在研究抖音的接口逆向工程时,发现a_bogus参数是个绕不开的坎。这个看似神秘的字符串实际上是抖音用来校验请求合法性的重要参数,对于想要深入研究抖音接口的开发者来说&#xff0c…...

别再只用默认参数了!手把手教你用Unity粒子系统调出电影级火焰特效(附材质与关键帧设置)

别再只用默认参数了!手把手教你用Unity粒子系统调出电影级火焰特效(附材质与关键帧设置) 火焰特效在游戏和影视作品中扮演着重要角色,它能瞬间提升场景的氛围感和视觉冲击力。但很多开发者在使用Unity粒子系统时,往往…...

告别玄学调网口:手把手教你计算DP83822I的Strap电阻,搞定RMII模式与LED显示

告别玄学调网口:手把手教你计算DP83822I的Strap电阻,搞定RMII模式与LED显示 在嵌入式以太网接口设计中,PHY芯片的配置往往让工程师们头疼不已。特别是当遇到两个看似相同的硬件却表现出不同行为时,调试过程常常变成一场"玄学…...

别再手动填0了!用TI Hex6x工具链高效生成DSP可执行文件(bin/dat)

别再手动填0了!用TI Hex6x工具链高效生成DSP可执行文件(bin/dat) 在嵌入式开发领域,为DSP处理器生成可执行文件是一个看似简单却暗藏玄机的过程。许多工程师第一次接触C6678等TI DSP芯片时,往往会陷入一个效率陷阱——…...

告别I2C中断线!手把手教你用I3C的IBI(带内中断)驱动传感器(附STM32代码)

I3C协议实战:巧用带内中断优化传感器数据采集 在嵌入式系统设计中,传感器中断处理一直是个令人头疼的问题。传统I2C传感器需要额外GPIO引脚来触发中断,这不仅增加了PCB布线复杂度,还抬高了BOM成本。MIPI联盟推出的I3C协议完美解决…...

别再被‘undefined reference to cv::imread’搞懵了!手把手教你用pkg-config搞定OpenCV 4.x链接

告别OpenCV链接噩梦:pkg-config全攻略与实战避坑指南 每次看到undefined reference to cv::imread这样的错误提示,是不是感觉血压瞬间飙升?作为计算机视觉开发者,OpenCV的链接问题堪称入门路上的"拦路虎"。但别担心&…...

SpringBoot+Vue项目用Nginx做前后端分离,我踩过的那些坑和最佳配置实践

SpringBootVue项目Nginx前后端分离部署实战:避坑指南与高阶配置 最近在帮团队重构一个老项目的部署架构,从传统的SpringBoot内嵌前端资源模式切换到Nginx前后端分离部署。本以为是个简单的配置调整,结果在灰度上线过程中接连遇到多个"深…...

从OTG到Peripheral:在RK3399上手动切换DWC3 USB控制器模式的实战指南

从OTG到Peripheral:在RK3399上手动切换DWC3 USB控制器模式的实战指南 当你在RK3399开发板上调试USB功能时,是否遇到过这样的困境:硬件设计为OTG模式,但实际开发中需要强制将USB口作为设备(如模拟U盘)或主机…...

AMD Ryzen终极调试指南:SMUDebugTool完全教程

AMD Ryzen终极调试指南:SMUDebugTool完全教程 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitcode.co…...

QKeyMapper终极指南:Windows系统下专业级键鼠手柄一体化映射解决方案

QKeyMapper终极指南:Windows系统下专业级键鼠手柄一体化映射解决方案 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止。支持游戏手柄映射到键…...

5分钟掌握HsMod:炉石传说终极优化插件完全指南

5分钟掌握HsMod:炉石传说终极优化插件完全指南 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 如果你是一名炉石传说玩家,是否曾为繁琐的开包过程而烦恼&#xff1f…...

RWKV-7多语言对话实战:东南亚小语种(泰/越/印尼)支持验证

RWKV-7多语言对话实战:东南亚小语种(泰/越/印尼)支持验证 1. 项目背景与价值 在全球化交流日益频繁的今天,多语言AI对话工具的需求持续增长。传统大语言模型往往存在显存占用高、推理速度慢等问题,特别是在处理东南亚…...

超越官方Adapter:手把手教你用Spring Boot定制Canal数据同步客户端

超越官方Adapter:手把手教你用Spring Boot定制Canal数据同步客户端 在微服务架构盛行的当下,数据同步已成为系统设计中不可或缺的一环。当我们需要将MySQL的增量数据实时同步到Elasticsearch、Redis或其他业务数据库时,阿里巴巴开源的Canal无…...

数据清洗与特征工程必读书单及实战技巧

1. 数据清洗与特征工程入门指南数据质量决定了模型性能的上限。从业十余年,我见过太多团队把80%的时间花在调参上,却只给数据清洗留了20%的预算——这就像用脏水煮饭,锅再好也做不出美味。今天要分享的8本专业书籍,正是解决这个核…...

机器学习不平衡分类:系统性框架与实战指南

1. 不平衡分类项目的系统性框架在机器学习实践中,分类预测建模问题涉及为给定输入预测类别标签。当类别分布不平衡时,这个问题会变得尤为复杂。我处理过许多真实世界的数据集,发现当少数类只占总样本的1-5%时(比如金融欺诈检测或罕…...

保姆级教程:用VNC远程管理树莓派时,如何备份和自定义你的LXDE顶部菜单栏(panel配置)

树莓派LXDE桌面菜单栏深度定制指南:从备份到个性化配置 树莓派作为一款广受欢迎的微型计算机,其轻量级的LXDE桌面环境凭借高效稳定赢得了大量用户的青睐。但许多使用VNC远程连接的用户可能都遇到过这样的困扰:精心调整的顶部菜单栏&#xff0…...

AVX-512内存对齐踩坑实录:从‘段错误’到完美运行的避坑指南

AVX-512内存对齐踩坑实录:从‘段错误’到完美运行的避坑指南 当你在深夜的办公室里,面对一个神秘的Segmentation fault错误,而代码逻辑明明毫无破绽时,那种挫败感足以让任何开发者抓狂。这正是我第一次尝试将AVX-512指令集集成到现…...

TTS-Vue离线语音合成终极配置方案:从零搭建到高效应用

TTS-Vue离线语音合成终极配置方案:从零搭建到高效应用 【免费下载链接】tts-vue 🎤 微软语音合成工具,使用 Electron Vue ElementPlus Vite 构建。 项目地址: https://gitcode.com/gh_mirrors/tt/tts-vue TTS-Vue是一款基于微软语音…...