【项目技术介绍篇】如何在本地运行若依项目

news2024/11/16 3:16:15

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产生了写一个博客专栏想法,介绍当前互联网企业JAVA项目开发如何快速入门。

本文收录于《30天企业JAVA项目开发实战入门》专栏,该专栏内容以当前互联网软件企业中的项目实战为线索,介绍企业JAVA项目开发中涉及到的开发流程、技术、工具、规范要求等等。帮助想从事JAVA开发的大学生或新人,更快的、更好的入门JAVA后端开发工作。

文章目录

    • 一、前言
    • 二、如何在本地运行若依项目
      • 2.1 搭建若依项目开发环境
      • 2.2 下载若依项目代码
      • 2.3 创建数据库,导入数据脚本
      • 2.4 导入代码,运行项目
    • 三、总结

一、前言

由于本专栏项目实战学习,是以若依开源项目RuoYi-Cloud为示例。所以,本文介绍如何在本地运行若依项目RuoYi-Cloud;

  • 若依项目RuoYi-Cloud简介

若依项目RuoYi-Cloud 是一个 Java EE 企业级的开源免费的快速开发平台,是一个基于Spring Boot、Spring Cloud & Alibaba的微服务的权限管理系统。如果想快速的开发一个Java EE 企业级项目,可以在若依项目的基础上,开发定制自己的项目。尤其是如果要开发一个后台管理系统,由于若依开源项目中已经内置完整的权限管理模块,所以能够更加快速的完成项目的开发工作;

  • 若依项目RuoYi-Cloud技术选型

采用前后端分离的模式,微服务版本前端基于 Vue/Element UI ;
后端采用Spring Boot、Spring Cloud & Alibaba微服务架构;
注册中心、配置中心选型Nacos,权限认证使用Redis;
流量控制框架选型Sentinel,分布式事务选型Seata;

  • 若依项目官方网站和文档地址
若依官网地址:https://www.ruoyi.vip/

若依演示地址:https://vue.ruoyi.vip/login

技术文档地址:https://doc.ruoyi.vip/ruoyi-cloud/

代码下载地址:https://gitee.com/y_project/RuoYi-Cloud

二、如何在本地运行若依项目

2.1 搭建若依项目开发环境

项目运行环境要求如下:(PS:关于如何搭建开发环境,见本专栏【开发环境搭建篇】介绍)

JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 12
Nacos >= 2.0.4 (ruoyi-cloud < 3.0 需要下载nacos >= 1.4.x版本)

2.2 下载若依项目代码

开发环境搭建完成后,我们可以去下载码云代码托管平台下载若依RuoYi-Cloud项目的代码。

PS:本专栏使用的代码版本为:RuoYi-Cloud v3.6.3,该版本下载地址为:https://gitee.com/y_project/RuoYi-Cloud/tree/v3.6.3

PS:关于如何从码云gitee下载项目代码,可以查看本栏文章:https://blog.csdn.net/u012171005/article/details/137052350

2.3 创建数据库,导入数据脚本

若依项目代码下载完成后,找到代码目录下面的SQL数据脚本;
在这里插入图片描述

之后,创建数据库ry-cloud并导入数据脚本ry_202xxxx.sql(必须),quartz.sql(可选);
在这里插入图片描述
在这里插入图片描述

之后,创建数据库ry-config并导入数据脚本ry_config_202xxxx.sql(必须);
在这里插入图片描述
在这里插入图片描述

之后,配置Nacos持久化,修改conf/application.properties文件,增加支持mysql数据源配置;
在这里插入图片描述
在这里插入图片描述

#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
spring.datasource.platform=mysql
spring.sql.init.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=您的数据库用户名
db.password.0=您的数据库密码

之后,使用单机模式,启动nacos;
在这里插入图片描述
之后,打开nacos控制台界面(PS:nacos控制台地址,见nacos启动时界面输出的信息),检查和修改redis和mysql数据库的配置信息;
在这里插入图片描述
配置信息修改完成后,点击发布;
在这里插入图片描述

2.4 导入代码,运行项目

之后,打开IDEA开发工具,导入若依RuoYi-Cloud项目的代码;
在这里插入图片描述

代码导入后,分别配置JDK、配置Maven;
在这里插入图片描述
在这里插入图片描述

之后,IDEA会自动下载和导入项目中使用到的依赖jar包;依赖jar包导入完成后,使用Maven编译项目代码;
在这里插入图片描述

代码编译通过后,开始依次启动项目的后台服务模块(或者叫XX服务);
首先启动RuoYiSystemApplication 系统服务,
在这里插入图片描述
之后,启动RuoYiGatewayApplication 网关服务;
在这里插入图片描述

之后,启动RuoYiAuthApplication 认证服务;
在这里插入图片描述

系统服务启动成功,由于该服务配置了swagger,还可以打开swagger地址访问验证;
http://localhost:9201/swagger-ui/index.html
在这里插入图片描述

至此,后端项目运行完成。

三、总结

以上,本文介绍了如何在本地运行若依项目RuoYi-Cloud。

期间遇到问题及解决方法,整理如下:

  • 问题一:IDEA无法自动导入maven-compiler-plugin.jar包;
    在这里插入图片描述
错误信息:Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:<unknown>

错误分析:IDEA找不到maven-compiler-plugin.jar包,所以出现该错误。我们需要在项目配置文件中,配置该jar包的版本号信息。

若Maven本地仓库中已经有一个maven-compiler-plugin.jar包;则把该jar包的版本号信息,填写在项目的配置文件中,这样,也不用重新导入了。
在这里插入图片描述

若Maven本地仓库中找不到maven-compiler-plugin.jar包,则可以去远程仓库,去查找包的版本号信息,找一个已经发布的jar包版本信息,填写即可。

地址:https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin

在这里插入图片描述

配置maven-compiler-plugin.jar包版本号信息后,如图所示:

在这里插入图片描述

如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1548953.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Error: Cannot find module ‘@rollup/rollup-win32-x64-msvc‘

1.背景 新项目需要使用vite搭建一个v3项目,之前也弄过,但项目创建后却一直无法跑起来,大聪明的我一直没有注意到这个问题 2.解决步骤 方案1:删除node_modules和package-lock.json文件重新npm install下包,部分码农通过这个步骤可解决 方案2:node版本或者npm版本不对,或者没…

Redission 分布式锁原理分析

一、前言 我们先来说说分布式锁&#xff0c;为啥要有分布式锁呢? 像 JDK 提供的 synchronized、Lock 等实现锁不香吗&#xff1f;这是因为在单进程情况下&#xff0c;多个线程访问同一资源&#xff0c;可以使用 synchronized 和 Lock 实现&#xff1b;在多进程情况下&#xff…

SpringBoot 文件上传(二)

上一节讲解了如何利用MultipartFile接收浏览器端上传的文件&#xff1a; SpringBoot 文件上传&#xff08;一)-CSDN博客 这节讲解服务器端如何将文件保存到本地目录下&#xff0c;下节讲解服务端如何将文件保存在阿里云上。 本节需要解决两个难点&#xff1a; 文件重名问题…

力扣---最长回文子串---二维动态规划

二维动态规划思路&#xff1a; 首先&#xff0c;刚做完这道题&#xff1a;力扣---最长有效括号---动态规划&#xff0c;栈-CSDN博客&#xff0c;所以会有一种冲动&#xff0c;设立g[i]&#xff0c;表示以第i位为结尾的最长回文子串长度&#xff0c;然后再遍历一遍取最大长度即可…

【PLC】PROFIBUS(二):总线协议DP、PA、FMS

1、总线访问协议 (FDL) 1.1、多主通信 多个主设备间&#xff0c;使用逻辑令牌环依次向从设备发送命令。 特征&#xff1a; 主站间使用逻辑令牌环、主从站间使用主从协议主站在一个限定时间内 (Token Hold Time) 对总线有控制权从站只是响应一个主站的请求它们对总线没有控制…

三轴工作台激光焊接机:实现高精度、高效率焊接的新选择

三轴工作台激光焊接机是一种先进的焊接设备&#xff0c;结合了激光焊接技术与三轴工作台的运动控制&#xff0c;实现了焊接过程的高效、精准与自动化。这种设备主要利用激光束的高能量密度和高速度特性&#xff0c;使工件在熔化的同时快速冷却凝固&#xff0c;从而达到高质量的…

n-皇后问题(DFS深搜两种解法)

题目描述&#xff1a; 思路&#xff1a; 根据题目要求&#xff1a;即任意两个皇后都不能处于同一行、同一列或同一斜线上。我们可以画图去看一下。对角线之间有什么规律可以发掘出来。接下来请看图解 根据上述图片&#xff0c;我们可以把正对角线看成撇对角线&#xff0c;也就…

分享300套常用的多行业商城模板和电商模板

小程序商城模板平台&#xff01;免费用多行业商城模板和电商模板&#xff0c;含小程序商城模板&#xff0c;多款精美高端电商模板免费使用&#xff0c;注册即用免费电商模板开发在线商城。 https://www.erdangjiade.com/templates/4-0-0-0-0-0 实现微信小程序携程首页顶部的界…

通过修改ospf的COST值来控制路由选路

配置好OSPF之后,发现默认走的是上面 PC1>tracert 192.168.200.1traceroute to 192.168.200.1, 8 hops max (ICMP), press Ctrl+C to stop1 192.168.100.254 16 ms <1 ms 16 ms2 10.10.10.2 15 ms &l

python入门题:输入输出练习

以下是Python基础语法的练习&#xff0c;项目要求和代码如下&#xff1a; """ 例3&#xff1a;小精灵&#xff1a;你好&#xff0c;欢迎古灵阁&#xff0c;请问您需要帮助吗&#xff1f;需要or不需要&#xff1f; 你&#xff1a;需要 小精灵&#xff1a;请问你需…

AutoCAD 2025(CAD2025)激活版

AutoCAD 2025 是一款由 Autodesk 公司开发的计算机辅助设计&#xff08;CAD&#xff09;软件。它广泛应用于建筑设计、机械制造、土木工程等领域。 AutoCAD 2025 提供了强大的绘图和设计工具&#xff0c;使用户能够创建精确的二维和三维图形。它支持多种绘图方式&#xff0c;如…

IDEA2023版本创建spring boot项目时,Java版本无法选择Java8问题解决

先简单说下出现本问题的原因&#xff1a; spring boot3.0发布时提到未来Java17将会成为主流版本&#xff0c;所有的Java EE Api都需要迁移到Jakarta EE上来。而spring boot3.0及以上版本已经不支持Java8了&#xff0c;支持Java17及以上版本。同时官方支持项目初始化的 Spring B…

Unity数独完整源码

支持的Unity版本&#xff1a;2018.1或更高。 这是一套完整且高效的数独源码&#xff0c;默认是9x9&#xff0c;有上千种关卡文件&#xff0c;4种难度&#xff0c;内有关卡编辑器&#xff0c;可扩展至4x4、6x6的关卡&#xff0c;还有英文文档对源码各方面可配置的地方进行说明&…

openGauss + Datakit搭建openGauss运维平台

系统架构OS 硬件需求&#xff1a;2c4g [rootlocalhost ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [rootlocalhost ~]# uname -m x86_64 [rootlocalhost ~]# hostname -I 192.168.92.32 下载地址&#xff1a;https://opengauss.org/zh/download/ 下载…

Django之Web应用架构模式

一、Web应用架构模式 在开发Web应用中,有两种模式 1.1、前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示。前端与后端的耦合度很高 1.2、前后端分离 在前后端分离的应用模式中,后端仅返…

搜索树概念及操作

目录 一. .搜索树 1.1 概念 1.2 操作1 查找 1.3 操作2 插入 1.4 操作3 删除 1.5 性能分析 1.6 和 java 类集的关系 一. .搜索树 1.1 概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树 : 若它的左子树不为空&#x…

C语言程序练习——汉诺塔递归

1. 题目 在终端输入汉诺塔层数n&#xff0c;实现将n层汉诺塔通过三座塔座A、B、C进行排列 2. 代码 #include <stdio.h>int hannuota(int len, int str, int tmp, int dst) {if (1 len){printf("%c -> %c\n", str, dst);}else{hannuota(len-1, str, dst, …

【每日一题】2024年3月汇编(上)

3.1【2369】检查数组是否存在有效划分 2369. 检查数组是否存在有效划分https://leetcode.cn/problems/check-if-there-is-a-valid-partition-for-the-array/ 1.这样的判断可以用动态规划来解决&#xff0c;用一个长度为(n1) 的数组来记录 是否存在有效划分&#xff0c;dp[i]…

单页面应用部署到iis上可以正常打开,刷新就404

当您遇到Dumi打包的网站部署到IIS上可以正常打开首页,但刷新页面时出现404错误的情况,这通常与以下几个方面有关: 路由处理: Dumi生成的项目通常基于SPA(Single Page Application)架构,使用前端路由来实现无刷新导航。这意味着大部分页面切换是在浏览器层面完成的,而不…

循环神经网络(RNN):处理序列数据的利器

目录 1. 引言 2.RNN原理与时间步展开 3.LSTM与GRU工作机制与优势 3.1.LSTM&#xff08;Long Short-Term Memory&#xff09; 3.2.GRU&#xff08;Gated Recurrent Unit&#xff09; 4.应用案例 4.1文本生成 4.2情感分析 5.总结 1. 引言 循环神经网络&#xff08;Recurr…