Java maven入门

原文:
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 FilesJavajdk1.8.0_221

2、接着配置环境变量 MAVEN_HOME

变量名:MAVEN_HOME
变量值:D:apache-maven-3.6.3

3、修改系统环境变量 Path

变量名:Path
变量值:;%MAVEN_HOME%in;

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.3confsettings.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块

  1. 基本设置 The Basics
  2. 构建过程的设置 Build Settings
  3. 项目信息设置 More Project Information
  4. 环境设置 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:

  1. pom,maven依赖文件。打出来可以作为其他项目的maven依赖,在工程A中添加工程B的pom,A就可以使用B中的类。用在父级工程或聚合工程中。用来做jar包的版本控制
  2. jar,java普通项目打包。通常是开发时要引用通用类,打成jar包便于存放管理。当你使用某些功能时,就需要这些jar包的支持,需要导入jar包
  3. war,java web项目打包。做好一个web网站后,打成war包部署到服务器。目的是节省资源,提供效率。

dependencies:依赖列表

dependencyManagement:依赖管理,这个标签主要是用来定义在父模块中,供子模块继承用

build:常用于给构件的行为提供相应的支持,里面引用了一些插件

parent:用于在子模块中对父模块的pom的继承

modules:用来聚合多个模块,让多个模块进行编译,不用一个一个来


5、开源项目 guns 的结构分析

  1. guns里面的pom.xml文件大体上有这三个,如图

  2. guns-vip-master -> pom.xml:相当于是顶层的,下面有两个模块guns-base-support,guns-vip-main

  3. 子模块guns-base-support
    注意:这里的打包方式是pom,只有这样才可以作为其他项目的maven依赖

  4. 子模块guns-vip-main

111

原文地址:https://www.cnblogs.com/guxingy/p/12786758.html