[Maven] 01 - maven介绍和配置创建


prtyaa
prtyaa 2023-12-27 15:25:09 65605
分类专栏: 资讯

Maven简介

什么是 Maven

目前无论使用 IDEA 还是 Eclipse 等其他 IDE,使用里面 ANT 工具。ANT 工具帮助我

们进行编译,打包运行等工作。

Apache 基于 ANT 进行了升级,研发出了全新的自动化构建工具 Maven。(知道:

ANT 有的功能 MAVEN 都有,只是使用起来更加方便了)。

Maven 工具基于 POM(Project Object Model,项目对象模型)模式实现的。在 Maven

中每个项目都相当于是一个对象,对象(项目)和对象(项目)之间是有关系的。关系包含

了:依赖、继承、聚合,实现 Maven 项目可以更加方便的实现导 jar 包、拆分项目等效果。

Maven 是跨平台的,这意味着无论是在 Windows 上,还是在 Linux 或者 Mac 上,

都可以使用同样的命令。

Maven 还有一个优点,它能帮助我们标准化构建过程。在 Maven 之前,十个项目可

能有十种构建方式。有了 Maven 之后,所有项目的构建命令都是标准化。

Maven 还为全世界的 Java 开发者提供了一个免费的中央仓库,在其中几乎可以找到

任何的流行开源类库

Maven 的作用

1)Maven 统一集中管理好所有的依赖包,不需要程序员再去寻找。对应第三方组件

用到的共同 jar,Maven 自动解决重复和冲突问题。

2)Maven 作为一个开放的架构,提供了公共接口,方便同第三方插件集成。程序员

可以将自己需要的插件,动态地集成到 Maven,从而扩展新的管理功能。

3)Maven 可以统一每个项目的构建过程,实现不同项目的兼容性管理。

Maven 仓库

Maven 仓库是基于简单文件系统存储的,集中化管理 Java API 资源(构件)的一个服

务。仓库中的任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存

储路径,这要得益于 Maven 的坐标机制,任何 Maven 项目使用任何一个构件的方式都

是完全相同的,Maven 可以在某个位置统一存储所有的 Maven 项目共享的构件,这个统

一的位置就是仓库,项目构建完毕后生成的构件也可以安装或者部署到仓库中,供其它项目

使用。

坐标:坐标有三个部分构成,如果一个部分不同那么表示的就是不同的 jar。

Group Id: 公司名,多用公司网址倒写

Artifact Id: 项目名

Version: 版本

对于 Maven 来说,仓库分为两类:本地仓库和中央仓库

中央仓库

中央仓库是互联网上的服务器,是 Maven 提供的最大的仓库,里面拥有最全的 jar 包资

源。默认是 Maven 自己的网络服务器,但是由于访问速度较慢,我们一般都配置成国内的

镜像中央仓库如阿里镜像或者是华为镜像。

Maven 中央仓库访问页面:

本地仓库

本地仓库指用户电脑中的文件夹,该文件夹中包含了自己下载的构件(jar 包)。文件夹结

构为 groupid 分级的文件夹/artifactid 文件夹/version 文件夹/包含 jar 包。

 

在查找jar包的时候先会到本地仓库中查找,没有就去中央仓库找

 


配置 Maven

在 settings.xml 文件中配置本地仓库

本地仓库是开发者本地电脑中的一个目录,用于存储从远程仓库下载的构件(jar 包)。

默认的本地仓库是${user.home}/.m2/repository。用户可使用 settings.xml 文件修改本地

仓库。具体内容如下:

<localRepository>C:\Users\Administrator\.m2\repository</localRepository>

在 settings.xml 文件中配置镜像仓库

如果仓库 A 可以提供仓库 B 存储的所有内容,那么就可以认为 A 是 B 的一个镜像。例如:在国内直接连接中央仓库下载依赖,由于一些特殊原因下载速度非常慢。这时,我们可以使用阿里云提供的镜像

替换中央仓库

修改maven 的 setting.xml 文件,具体内容如下:

<mirror>
<!-- 指定镜像 ID -->
<id>nexus-aliyun</id>
<!-- 匹配中央仓库。-->
<mirrorOf>central</mirrorOf>
<!-- 指定镜像名称 -->
<name>Nexus aliyun</name>
<!-- 指定镜像路径 -->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

配置 JDK 版本

<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>

Maven 工程类型

1 POM 工程

POM 工程是逻辑工程。用在聚合工程中,或者父级工程用来做 jar 包的版本控制。

2 JAR 工程

创建一个 Java Project,在打包时会将项目打成 jar 包。

3 WAR 工程

创建一个 Web Project,在打包时会将项目打成 war 包。


IDEA创建Maven项目(默认是jar类型

Maven 项目结构

src

包含了项目所有的源代码和资源文件以及测试代码。

src/main/java

这个目录下储存 java 源代码

src/main/resources

储存主要的资源文件。比如 spring 的 xml 配置文件和 log4j 的properties 文件。

src/test/java

存放测试代码,比如基于 JUNIT 的测试代码一般就放在这个目录下面

target

编译后内容放置的文件夹

pom.xml

是 Maven 的基础配置文件,也是 Maven 项目核心配置文件,用于配置项项目的基本信息,项目的继承关系,项目类型,依赖管理,依赖注入,插件管理,插件注入等等

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=31424
赞同 0
评论 0 条
prtyaaL0
粉丝 1 发表 2554 + 关注 私信
上周热门
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1448
银河麒麟打印带有图像的文档时出错  1365
银河麒麟添加打印机时,出现“server-error-internal-error”  1151
统信桌面专业版【如何查询系统安装时间】  1073
统信操作系统各版本介绍  1070
统信桌面专业版【全盘安装UOS系统】介绍  1028
麒麟系统也能完整体验微信啦!  984
统信【启动盘制作工具】使用介绍  627
统信桌面专业版【一个U盘做多个系统启动盘】的方法  575
信刻全自动档案蓝光光盘检测一体机  484
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!