作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产生了写一个博客专栏想法,介绍当前互联网企业JAVA项目开发如何快速入门。
本文收录于《30天企业JAVA项目开发实战入门》专栏,该专栏内容以当前互联网软件企业中的项目实战为线索,介绍企业JAVA项目开发中涉及到的开发流程、技术、工具、规范要求等等。帮助想从事JAVA开发的大学生或新人,更快的、更好的入门JAVA后端开发工作。
一、前言
由于本专栏项目实战学习,是以若依开源项目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 (账号:admin/admin123)
技术文档地址:https://doc.ruoyi.vip/ruoyi-cloud/
代码下载地址:https://gitee.com/y_project/RuoYi-Cloud
二、如何在本地运行若依项目
2.1 搭建若依项目开发环境
项目运行环境要求如下:(PS:关于如何搭建开发环境,见本专栏《30天企业JAVA项目开发实战入门》之【开发环境搭建篇】文章介绍)
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;另外,关于如何从码云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
至此,后端项目运行完成。下面,开始运行前端项目。
首先,使用管理员方式,打开Windows命令行窗口;
之后,找到若依项目代码RuoYi-Cloud下面的ruoyi-ui目录;(PS:这是前端工程项目所在目录)
之后,进入到ruoyi-ui前端工程项目的目录下,执行npm install命令,安装依赖包;
依赖包安装完成后,执行npm run dev命令,启动项目。启动完成后,界面会输出前端工程的访问地址信息;
之后,打开地址:http://localhost/login,进入项目的登陆页面;
之后,输入账户信息(PS:账号 admin,密码 admin123),登录后,进入项目的主页面:
至此,若依项目RuoYi-Cloud在本地成功运行完成。
三、总结
以上,本文介绍了如何在本地运行若依项目RuoYi-Cloud。
期间遇到问题及解决方法,整理如下:
- 问题一:IDEA打开若依项目RuoYi-Cloud代码,无法自动导入maven-compiler-plugin.jar包,出现错误;
错误分析:IDEA在本地Maven仓库中找不到maven-compiler-plugin.jar包,所以出现该错误。我们需要在项目配置文件中,配置该jar包的版本号信息。
错误信息:Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:<unknown>
若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包版本号信息后,配置文件的内容如图所示:
- 问题二:若依项目前端工程,Windows命令行窗口,执行npm install命令,安装依赖报错;
错误分析:出现该错误,是由于当前用户没有足够的权限去读取或写入指定的文件。所以,我们需要检查一下当前用户的权限是否足够。之后,切换使用管理员方式打开Windows命令行窗口,可以正常执行npm install命令;
错误信息:
npm ERR! errno -4048
npm ERR! Error: EPERM: operation not permitted, open 'C:\Program Files\nodejs\node_cache\_cacache\index-v5\52\9e\7408e5357e89363d49326da3334d9b9b6c2321c7bae86129aecfbe4f5372'
如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)