目前无论使用 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 开发者提供了一个免费的中央仓库,在其中几乎可以找到
任何的流行开源类库
1)Maven 统一集中管理好所有的依赖包,不需要程序员再去寻找。对应第三方组件
用到的共同 jar,Maven 自动解决重复和冲突问题。
2)Maven 作为一个开放的架构,提供了公共接口,方便同第三方插件集成。程序员
可以将自己需要的插件,动态地集成到 Maven,从而扩展新的管理功能。
3)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包的时候先会到本地仓库中查找,没有就去中央仓库找
本地仓库是开发者本地电脑中的一个目录,用于存储从远程仓库下载的构件(jar 包)。
默认的本地仓库是${user.home}/.m2/repository。用户可使用 settings.xml 文件修改本地
仓库。具体内容如下:
<localRepository>C:\Users\Administrator\.m2\repository</localRepository>
如果仓库 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>
<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>
POM 工程是逻辑工程。用在聚合工程中,或者父级工程用来做 jar 包的版本控制。
创建一个 Java Project,在打包时会将项目打成 jar 包。
创建一个 Web Project,在打包时会将项目打成 war 包。
src
包含了项目所有的源代码和资源文件以及测试代码。
src/main/java
这个目录下储存 java 源代码
src/main/resources
储存主要的资源文件。比如 spring 的 xml 配置文件和 log4j 的properties 文件。
src/test/java
存放测试代码,比如基于 JUNIT 的测试代码一般就放在这个目录下面
target
编译后内容放置的文件夹
pom.xml
是 Maven 的基础配置文件,也是 Maven 项目核心配置文件,用于配置项项目的基本信息,项目的继承关系,项目类型,依赖管理,依赖注入,插件管理,插件注入等等
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!