Java中Maven基础详解(包括maven工作原理、安装配置、IDEA建立Maven工程) |
您所在的位置:网站首页 › Maven中的pom干啥的 › Java中Maven基础详解(包括maven工作原理、安装配置、IDEA建立Maven工程) |
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包的获取过程如下: [本地仓库]–>[局域网私服仓库]–>[中央仓库] 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%\bin1、JAVA_HOME在安装jdk时已经配置,故而不需要配置 2、MAVEN-HOME配置。在此电脑-属性-高级系统设置-系统属性中,点击环境变量, 在下方系统变量中,新建,变量名MAVEN-HOME,变量值填IDEA中maven的地址 3、[path]。系统变量中找到Path,双击进去,新建,输入%MAVEN-HOME%\bin,配置完成。 在cmd窗口中输入mvn -v,查看maven版本号, 表示配置成功。 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可以管理的工程,必须按照【约定结构】来创建 结构 src:(Java代码) main文件夹:主要开发 业务程序 java(创建Java文件) Java文件创建package,如 src\main\java\com\bjpowernode\model\Student.javaresources(存放程序资源文件(配置文件,properties)) test:主要进行测试 单元测试程序 Java(创建测试类) Java文件创建测试类,如 src\main\java\com\bjpowernode\model\TestMain.javaresources(存放测试程序资源文件(测试时使用的配置文件)) target文件夹:(编译后class文件,在创建项目时,不需要创建。Maven命令在执行时自动创建target) 目录如图: 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工程 选择jdk1.8,勾选Create from archetype,这里选择创建普通的maven项目,并不涉及java web项目,所以选择quickstart,如果要创建web项目,选择下面的webapp,点击next。 在这一页中,点击Artifact Coordinates,展开,这里的groupID,artifactid,version就是之前提到的gavmaven坐标,填好后进入下一步next。 这里,User settings file选择c盘默认即可,Local repository选择上面你自己更改的repository,点击finish,即完成maven项目的构建。 第一次配置Maven工程,需要等待一会(1分钟左右),出现BUILD SUCCESS,即创建成功。 在main中Java中写java代码,将所需的依赖在pom.xml中写入。 eg:求两个数的最大公约数。 Java自带的jdk没有求最大公约数的函数,Apache组织中有个org.apache.commons中有个求最大公约数的方法(这里不必死记硬背函数库,需要时上网查找即可,这里只是举个例子) 百度Maven repository,进入Maven,搜索org.apache.commons,如图 点击第一个进入,选择使用量较高的版本,复制依赖项。 然后在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选项,点击查看。 在Lifecycle中包括上面提及的Maven命令,点击即可执行Maven命令。 **注意:**在每次添加依赖项后,最好手动点击Maven左上角的刷新按钮,以方便maven下载依赖项,以免报错 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |