ruoyi源码类型
Ruoyi源码
编译打包后,直接部署tomcat服务器
Ruoyi-vue 前后端分离版
前端部署到nginx
后端部署到tomcat
RuoYi-Cloud 微服务版
RuoYi-app 移动端版
RuoYi-vue 前后端分离版
环境
JDK>=1.8
MySQL >= 5.7
Maven >= 3.0
Node >= 12
Redis >= 3
(注:上述所有配置只能大于等于所需版本,不能低于需求版)
Windows开发环境
jdk安装
1.安装jdk
2.环境变量配置
变量:java_home(不区分大小写)
-
目的:eclipse,tomcat等需要此变量得知jdk的位置
值:jdk的位置 (参考下方图片)
path
-
目的:在dos下,任何位置都可执行path中的命令
Maven介绍
传统项目的弊端
jar包不统一,jar包不兼容导致项目问题
工程升级维护过程操作繁琐
Maven是什么
Maven作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的、流行的构建工具。
Maven不仅是构建工具,还是一个依赖管理工具和项目管理工具,它提供了中央仓库,能帮我自动下载构件。
Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型POM(Project Object Model:项目对象模型)
Maven是由java语言开发,它管理的东西以面向对象的形式设计,将一个项目看成一个对象,这个对象就叫做POM.
maven的安装和配置
安装
下载解压
首先需要确认的是你已经成功安装JDK,接着去maven官网下载安装包即可。下载地址:Download Apache Maven – Maven
然后选择自己想要的版本即可。下载完毕后解压到你想要解压的目录即可
配置环境变量
配置环境变量 MAVEN_HOME和path即可
输入mvn -v 或mvn -version如显示如下信息即可安装配置成功
maven目录结构
bin目录: 该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath和相关的Java系统属性,然后执行Java命令。
boot目录: 该目录只包含一个文件,该文件为plexus-classworlds-2.5.2.jar。plexus-classworlds是一个类加载器框架,相对于默认的java类加载器,它提供了更加丰富的语法以方便配置,Maven使用该框架加载自己的类库。
conf目录: 该目录包含了一个非常重要的文件settings.xml。直接修改该文件,就能在机器上全局地定制Maven的行为。
lib目录: 该目录包含了所有Maven运行时需要的Java类库,Maven本身是分模块开发的,因此用户能看到诸如maven-core-xxx.jar、maven-model-xxx.jar之类的文件,此外这里还包含一些Maven用到的第三方依赖如commons-cli-xxx.jar、commons-lang-xxx.jar等等。
Maven配置
设置阿里云中央仓库
因为Maven的镜像默认是国外的网站,我们下载jar包时就会非常慢,所以我们配置一个国内的阿里云镜像。
打开解压Maven的conf目录下的settings.xml文件,在<mirrors></mirrors>中添加如下mirror:
maven内置一个central仓库,在安装包中的父pom文件中。
mirrorOf配置的中央仓库与和父pom的central仓库关联。
中央仓库只能有一个,如果配置多个,只有第一个有效;
maven仓库优先级:本地仓库(localRepositories) > profile中的repositories仓库 > POM > mirrors全局仓库
配置JDK编译版本
配置JDK编译版本,防止在编辑器中运行时出现Java版本编译警告:
配置本地仓库目录
<localRepository>C:/maven/repository</localRepository>
maven
Maven POM
POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。
执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。
POM 中可以指定以下配置:
-
项目依赖
-
插件
-
执行目标
-
项目构建 profile
-
项目版本
-
项目开发者列表
-
相关邮件列表信息
父(Super)POM
父(Super)POM是 Maven 默认的 POM。所有的 POM 都继承自一个父 POM(无论是否显式定义了这个父 POM)。父 POM 包含了一些可以被继承的默认设置。因此,当 Maven 发现需要下载 POM 中的 依赖时,它会到 Super POM 中配置的默认仓库 http://repo1.maven.org/maven2 去下载。
Maven 使用 effective pom(Super pom 加上工程自己的配置)来执行相关的目标,它帮助开发者在 pom.xml 中做尽可能少的配置,当然这些配置可以被重写。
使用以下命令来查看 Super POM 默认配置:
mvn help:effective-pom
Maven仓库
Maven 在某个统一的位置存储所有项目的构件,这个统一的位置,我们就称之为仓库。换言之,仓库就是存放依赖和插件的地方。
maven依赖的查找顺序:本地仓库 -> 私服 -> 中央仓库
关于仓库分为:本地仓库,私服,中央仓库;其中私服和中央仓库都属于远程仓库。
中央仓库:maven团队自身维护的仓库,属于开源的;
私服:各公司/部门等小范围内存储资源的仓库,私服也可以从中央仓库获取资源;
本地仓库:开发者自己电脑上存储资源的仓库,也可从远程仓库获取资源;
私服的作用:
-
保存具有版权的资源,包含购买或自主研发的jar
-
一定范围内共享资源,能做到仅对内不对外开放
Maven坐标
在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称为构件。在 Maven 世界中存在着数十万甚至数百万构件,在引入坐标概念之前,当用户需要使用某个构件时,只能去对应的网站寻找,但各个网站的风格迥异,这使得用户将大量的时间浪费在搜索和寻找上,严重地影响了研发效率。为了解决这个问题,于是Maven引入了Maven 坐标的概念。
Maven 坐标一套规则,它规定:世界上任何一个构件都可以使用 Maven 坐标并作为其唯一标识,Maven 坐标包括 groupId、artifactId、version、packaging 等元素,只要用户提供了正确的坐标元素,Maven 就能找到对应的构件。
任何一个构件都必须明确定义自己的坐标,这是 Maven的强制要求,任何构件都不能例外。我们在开发 Maven项目时,也需要为其定义合适的坐标,只有定义了坐标,其他项目才能引用该项