原文:
https://www.cnblogs.com/best/p/9676515.html
https://blog.csdn.net/Seven71111/article/details/102496546
https://blog.csdn.net/xqk709008281/article/details/79468930
https://www.jianshu.com/p/cdb088f398c8
一、下载和安装 jdk
用迅雷下载一下jdk,安装时注意一下安装路径,因为之后需要配置环境变量 JAVA_HOME
https://download.oracle.com/otn/java/jdk/8u221-b11/230deb18db3e4014bb8e3e8324f81b43/jdk-8u221-windows-x64.exe?AuthParam=1563589007_663a1f07ff53f2baa3925f340f025ad7
二、下载 maven
用迅雷下载一下maven,解压到某个盘就可以了,英文路径哦
https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip
三、配置 maven
1、首先配置环境变量 JAVA_HOME
window7进入配置环境变量的方式:开始菜单 -> 计算机(右键) -> 属性 -> 高级系统设置 -> 环境变量
变量名:JAVA_HOME
变量值:D:\\Program Files\\Java\\jdk1.8.0_221
2、接着配置环境变量 MAVEN_HOME
变量名:MAVEN_HOME
变量值:D:\\apache-maven-3.6.3
3、修改系统环境变量 Path
变量名:Path
变量值:;%MAVEN_HOME%\\bin;
4、测试
jdk测试:java -version
Maven测试:mvn -version
四、基本知识
1、maven是什么?
Maven是当前最受欢迎的Java项目管理构建自动化综合工具
- Java 中的 Ant(以前)
- node.js 中的 npm、
- dotNet 中的 nuget、
- php 中的 Composer。
2、maven 依赖包的下载流程 和 配置
依赖包的下载流程
- 从本地资源库中查找并获得依赖包,如果没有,执行第2步。
- 从Maven默认中央仓库中查找并获得依赖包(
http://repo1.maven.org/maven2/
),如果没有,执行第3步。 - 如果在pom.xml中定义了自定义的远程仓库,那么也会在这里的仓库中进行查找并获得依赖包,如果都没有找到,那么Maven就会抛出异常。
配置
- 配置文件地址:
D:\\apache-maven-3.6.3\\conf\\settings.xml
- 配置的节点:
mirrors
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
3、Maven的一些配置参数
https://www.jianshu.com/p/d079bd7d0623
modelVersion是4.0.0,这是当前仅有的可以被Maven2&3同时支持的POM版本,它是必须的。
maven的参数分为4块
- 基本设置 The Basics
- 构建过程的设置 Build Settings
- 项目信息设置 More Project Information
- 环境设置 Environment Settings
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 基本设置 The Basics -->
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<packaging>...</packaging>
<dependencies>...</dependencies>
<parent>...</parent>
<dependencyManagement>...</dependencyManagement>
<modules>...</modules>
<properties>...</properties>
<!-- 构建过程的设置 Build Settings -->
<build>...</build>
<reporting>...</reporting>
<!-- 项目信息设置 More Project Information -->
<name>...</name>
<description>...</description>
<url>...</url>
<inceptionYear>...</inceptionYear>
<licenses>...</licenses>
<organization>...</organization>
<developers>...</developers>
<contributors>...</contributors>
<!-- 环境设置 Environment Settings -->
<issueManagement>...</issueManagement>
<ciManagement>...</ciManagement>
<mailingLists>...</mailingLists>
<scm>...</scm>
<prerequisites>...</prerequisites>
<repositories>...</repositories>
<pluginRepositories>...</pluginRepositories>
<distributionManagement>...</distributionManagement>
<profiles>...</profiles>
</project>
4、maven配置参数解释
modelVersion:POM版本,常用4.0.0,因为可以被Maven2 & 3
同时支持
1、基本设置(The Basics)
groupId:项目组织 的唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
artifactId:项目 的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
packaging:
- pom,maven依赖文件。打出来可以作为其他项目的maven依赖,在工程A中添加工程B的pom,A就可以使用B中的类。用在父级工程或聚合工程中。用来做jar包的版本控制
- jar,java普通项目打包。通常是开发时要引用通用类,打成jar包便于存放管理。当你使用某些功能时,就需要这些jar包的支持,需要导入jar包
- war,java web项目打包。做好一个web网站后,打成war包部署到服务器。目的是节省资源,提供效率。
dependencies:依赖列表
dependencyManagement:依赖管理,这个标签主要是用来定义在父模块中,供子模块继承用
build:常用于给构件的行为提供相应的支持,里面引用了一些插件
parent:用于在子模块中对父模块的pom的继承
modules:用来聚合多个模块,让多个模块进行编译,不用一个一个来
5、开源项目 guns 的结构分析
-
guns里面的pom.xml文件大体上有这三个,如图
-
guns-vip-master -> pom.xml:相当于是顶层的,下面有两个模块
guns-base-support,guns-vip-main
-
子模块
guns-base-support
注意:这里的打包方式是pom
,只有这样才可以作为其他项目的maven依赖
-
子模块
guns-vip-main
111