Java中Maven基础详解(包括maven工作原理、安装配置、IDEA建立Maven工程)

您所在的位置:网站首页 Maven中的pom干啥的 Java中Maven基础详解(包括maven工作原理、安装配置、IDEA建立Maven工程)

Java中Maven基础详解(包括maven工作原理、安装配置、IDEA建立Maven工程)

2024-07-13 07:10| 来源: 网络整理| 查看: 265

Java中Maven基础详解(包括maven工作原理、安装配置、IDEA建立Maven工程)

文章目录 Java中Maven基础详解(包括maven工作原理、安装配置、IDEA建立Maven工程)当前主要的Java构建工具 Maven基本概念:1、项目构建生命周期:2、项目中jar包管理3、Maven项目信息管理 Maven安装与配置配置Maven本地仓库配置 Maven工程结构**pom.xml** 常见Maven命令:(与项目构建生命周期相关)Maven坐标(gav)Maven开发流程 IDEA建立Maven工程(以2020.2版为例,其他版本大同小异)

当前主要的Java构建工具 Maven,Gradle,Ivy,Builder,Ant等其中,Maven是B/S项目主流,Gradle常用于移动开发 Maven基本概念: apache组织提供的一个顶级项目,由Java开发作用: 管理项目构建生命周期管理项目中jar(核心功能)。自动帮程序员甄别和下载第三方库(jar)管理项目基础信息(文档管理、测试报告)

可以说,maven作用于Java平台的项目构建,依赖管理和项目信息管理。

1、项目构建生命周期:

[清理]–>[编译]–>[测试]–>[报告]–>[打包]–>[安装]–>[发布]

[clean]–>[compile]–>[test]–>[report]–>[package]–>[install]–>[publish]

2、项目中jar包管理

Maven工作原理: 在项目中,需要使用到第三方库(即第三方jar包),传统做法:自己去网上查找需要的jar包,下载到本地,进行配置,设置好地址,导入jar包,才能使用。这种传统做法存在两个问题: 1、查找jar包、下载、配置麻烦; 2、需要把jar包放置在合适的路径。当项目发送给其他机器时,可能会因为jar包地址报错。(例如,自己把jar包放在f盘,发送给其他电脑时,没有f盘,这时候编译时就会发生报错) 在项目构建工具Maven下,就可以避免这个问题,这也是Maven的核心功能所在:管理第三方jar包。 在Maven项目下,只需要网上在Maven仓库中搜索所需的jar包,将jar包的依赖信息复制在pom.xml文件中。这样,在项目编译时,maven会自动检索本地计算机是否含有所需jar包,如果没有,在私服仓库中查找jar包(即局域网内),都没有的话,就从Maven中央仓库中自动下载jar包。 由于Maven中央仓库服务器在国外,下载时速度可能比较慢,这时候可以选择国内一些有名的Maven仓库,如阿里云。 Maven中jar包的获取过程如下: image-20201205185510650

[本地仓库]–>[局域网私服仓库]–>[中央仓库]

3、Maven项目信息管理 api文档测试报告 Maven安装与配置

安装 解压即可

注:现在IDEA,eclipse都自带Maven,如非必要,不必安装更换maven。IDEA中Maven的默认路径在IDEA安装目录下:ideaIU-2020.2.3.win\plugins\maven\lib\maven3

查看版本号:在maven3/bin目录下,调出cmd,输入mvn -v

所以Maven原本是不需要配置的。只是为了在任何路径下都可以使用Maven命令,所以需要配置

配置 JAVA_HOMEMAVEN-HOME:Maven安装地址[path] %MAVEN-HOME%\bin

1、JAVA_HOME在安装jdk时已经配置,故而不需要配置

2、MAVEN-HOME配置。在此电脑-属性-高级系统设置-系统属性中,点击环境变量,image-20201213102957668

在下方系统变量中,新建,变量名MAVEN-HOME,变量值填IDEA中maven的地址image-20201213103051009

3、[path]。系统变量中找到Path,双击进去,新建,输入%MAVEN-HOME%\bin,配置完成。

在cmd窗口中输入mvn -v,查看maven版本号,image-20201213103427626

表示配置成功。

Maven本地仓库配置

本地仓库默认位置:

C:\Users\Administrator\.m2\repository

重新设置Maven本地仓库地址

Maven安装路径\conf\setting.xml中定位标签

#53 /path/to/local/repository

重新设置本地仓库位置

D:\DevTools\ideaIU-2020.2.3.win\plugins\maven\repository

阿里云镜像设置

在mirror位置(大约160行左右)添加阿里云镜像

alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central Maven工程结构

Maven可以管理的工程,必须按照【约定结构】来创建

结构

image-20201213104034760

src:(Java代码)

main文件夹:主要开发 业务程序

java(创建Java文件)

Java文件创建package,如 src\main\java\com\bjpowernode\model\Student.java

resources(存放程序资源文件(配置文件,properties))

test:主要进行测试 单元测试程序

Java(创建测试类)

Java文件创建测试类,如 src\main\java\com\bjpowernode\model\TestMain.java

resources(存放测试程序资源文件(测试时使用的配置文件))

target文件夹:(编译后class文件,在创建项目时,不需要创建。Maven命令在执行时自动创建target)

目录如图:image-20201205202949326

pom.xml:(核心配置文件:主要用来向Maven讨要jar包)(Project Object Model)

eg:记事本开发Maven工程

Student.java

package com.bjpowernode.model; public class Student{ public void sayHello(){ System.out.print("Hello Maven"); } }

TestMain.java

package com.bjpowernode.test; import com.bjpowernode.model.Student; import org.junit.Test; public class TestMain{ @Test public void myTest (){ Student stu=n ew Student(); stu.sayHello(); } } pom.xml

包含了项目信息,依赖信息、构建信息

4.0.0 //固定不变的 //这三行是定位package的,简称gav com.bjpowernode //域名 Maven_Project //项目名,不能有中文 6.0 //版本号 //war //这一行通常为默认jar或war,需要时手动添加 //添加依赖 //所需的依赖可以到百度Maven Repository,搜索相关包名,获取gav junit junit 4.12 test 常见Maven命令:(与项目构建生命周期相关)

1、mvn clean 删除当前工程中target 2、mvn compile 将当前工程中main文件下的所有java编译为class,输送到target文件中 3、mvn test 运行test文件下所有测试文件 4、mvn package 首先将test文件下所有的java测试类的方法调用执行进行测试,并生成[测试报告]。如果测试没有问题,将main文件下所有class文件打成(jar/war),然后输送到target 5、mvn install 与package命令执行基本一致,将[jar\war]推送到Maven的本地仓库

Maven坐标(gav)

为了方便Maven对jar的定位,在Maven世界中,每一个jar都要由一个独立坐标,相当于ip

artifact:构建

这个独立坐标由三部分组成

1. 公司域名反顺序 组织 2. 项目名称 产品名称 3. 项目版本号 版本 Maven开发流程 新建Maven项目在中央仓库查找第三方jar的依赖文本拷贝依赖文本至项目的pom.xml执行Maven,编译/构建整个项目 IDEA建立Maven工程(以2020.2版为例,其他版本大同小异)

打开IDEA,选择创建Maven工程image-20201213104442578

选择jdk1.8,勾选Create from archetype,这里选择创建普通的maven项目,并不涉及java web项目,所以选择quickstart,如果要创建web项目,选择下面的webapp,点击next。

在这一页中,点击Artifact Coordinates,展开,这里的groupID,artifactid,version就是之前提到的gavmaven坐标,填好后进入下一步next。

image-20201213105014249

这里,User settings file选择c盘默认即可,Local repository选择上面你自己更改的repository,点击finish,即完成maven项目的构建。

第一次配置Maven工程,需要等待一会(1分钟左右),出现BUILD SUCCESS,即创建成功。image-20201213105304437

在main中Java中写java代码,将所需的依赖在pom.xml中写入。

eg:求两个数的最大公约数。

Java自带的jdk没有求最大公约数的函数,Apache组织中有个org.apache.commons中有个求最大公约数的方法(这里不必死记硬背函数库,需要时上网查找即可,这里只是举个例子)

百度Maven repository,进入Maven,搜索org.apache.commons,如图image-20201213105912144

点击第一个进入,选择使用量较高的版本,复制依赖项。

image-20201213110037470

然后在pom.xml中中粘贴依赖项

org.apache.commons commons-math3 3.6.1

在main-java中创建类hello,使用org.apache.commons中的方法,跟使用jdk自带方法一样

public static void main(String[] args) { //计算两个整数的公约数 int a = ArithmeticUtils.gcd(361, 285); System.out.println("a = " + a); }

即可求出两个数的最大公约数,是不是很简便。

此外,在IDEA的右侧,有个Maven选项,点击查看。image-20201213110511031

在Lifecycle中包括上面提及的Maven命令,点击即可执行Maven命令。

**注意:**在每次添加依赖项后,最好手动点击Maven左上角的刷新按钮,以方便maven下载依赖项,以免报错



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3