Maven仓库配置、安装和使用
一、 Maven有什么作用?
1、让maven仓库自动帮你下载jar包
maven项目会有一个 pom.xml文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应jar包,不用你铺天盖地的到处搜索你需要的jar包。
下面是示范配置文件pom.xml![](https://img.haomeiwen.com/i16338962/59e10bbb6fbc0aa5.png)
maven都会通过,项目名-项目模块-项目版本来maven在互联网上的代码库中下载相应jar包。
2、寻找依赖,帮你下载依赖
寻找jar包是第一基本功能,寻找依赖在这个是在这个基础上的功能。
在maven的代码库中,每一个jar包也有自己的 pom.xml文件,而这个文件里面也会有<dependency>配置,只要你配置的jar包所依赖的其他jar包都会被maven自动下载下来。
二、Maven的安装与配置
1、下载 Maven
下载地址: http://maven.apache.org/download.cgi
![](https://img.haomeiwen.com/i16338962/61d2417ccd884367.png)
2、安装Maven
- 安装Maven的前要安装JDK。
- 将安装文件解压到你指定的目录中。这里的Maven安装目录是E:\apache-maven-3.5.0。
3、设置环境变量,将Maven安装配置到操作系统环境中
1)打开系统属性面板(桌面上右键单击“我的电脑”→“属性”),点击高级系统设置,再点击环境变量,
2)在系统变量中新建一个变量,变量名为 M2_HOME,变量值为Maven的安装目录E:\apache-maven-3.5.0。
3)点击确定,接着在系统变量中找到一个名为Path的变量,在变量值的末尾加上 %M2_HOME%\bin;
4)注意多个值之间需要有分号隔开,然后点击确定。至此,环境变量设置完成。
4、测试安装成功
打开一个新的cmd窗口,运行 mvn -v 命令检查Maven的安装情况![](https://img.haomeiwen.com/i16338962/ddf1c8c24c0d14cc.png)
5、修改maven配置使用阿里提供的maven源
打开maven安装路径下的conf/settings.xml 文件![](https://img.haomeiwen.com/i16338962/8bc855f81c8a617f.png)
三、eclipse 配置maven
![](https://img.haomeiwen.com/i16338962/8baa4c0c633e1614.png)
![](https://img.haomeiwen.com/i16338962/7edcb7cc96ff6e83.png)
四、创建maven 工程
选择菜单项File -> New -> Other,在弹出的对话框中选择Maven下的Maven Project![](https://img.haomeiwen.com/i16338962/c99f04a36211693d.png)
![](https://img.haomeiwen.com/i16338962/d1ca1a4d6ec7ad0e.png)
![](https://img.haomeiwen.com/i16338962/65467750b5c5f656.png)
![](https://img.haomeiwen.com/i16338962/97f62bc4a4f6d2d6.png)
![](https://img.haomeiwen.com/i16338962/dcb75a2ba5d8d45c.png)
四、编写pom.xml
Maven 项目的核心是 pom.xml。 POM( Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。
这段代码中最重要的是 groupId, artifactId 和 version 三行。这三个元素定义了一个项目基本的坐标,在 Maven的世界,任何的 jar、 pom 或者 war 都是以基于这些基本的坐标进行区分的。
groupId :
定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联,譬如你在 googlecode 上建立了一个名为 myapp 的项目,那么 groupId 就应该是 com.googlecode.myapp,如果你的公司是 mycom,有一个项目为 myapp,那么 groupId 就应该是 com.mycom.myapp。本书中所有的代码都基于 groupId com.juvenxu.mvnbook。
artifactId:
定义了当前 Maven 项目在组中唯一的 ID,我们为这个 Hello World 项目定义 artifactId 为 hello-world,本书其他章节代码会被分配其他的 artifactId。而在前面的 groupId 为 com.googlecode.myapp 的例子中,你可能会为不同的子项目(模块)分配 artifactId,如: myapp-util、 myapp-domain、 myapp-web 等等。
version :
指定了 Hello World 项目当前的版本——1.0-SNAPSHOT。 SNAPSHOT 意为快照,说明该项目还处于开发中,是不稳定的版本。随着项目的发展, version 会不断更新,如升级为 1.0、 1.1-SNAPSHOT、1.1、 2.0 等等。
![](https://img.haomeiwen.com/i16338962/2a4ab631771feedb.png)
![](https://img.haomeiwen.com/i16338962/b2d85de6302ef6bd.png)
六、用maven 生成可执行 jar
在pom.xml中添加下面与<dependencies/>同级别的标签。
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.hainiuxy_linux.HelloWorld</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
其中:
<mainClass>com.hainiuxy_linux.HelloWorld</mainClass> 指的是 jar 文件中的启动类。
设置classpath 路径
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
右键maven 工程 → Run As → Maven install
![](https://img.haomeiwen.com/i16338962/5484f09e74d9a0c8.png)
![](https://img.haomeiwen.com/i16338962/a7eaf67c66683071.png)
![](https://img.haomeiwen.com/i16338962/aef279d6d971cebd.png)
如果再次打包时,需要先执行 Run As → Maven clean,再执行 Run As → Maven install。