您的位置:首页 > 其它

maven的使用教程详解

2018-03-19 16:02 489 查看

Maven安装配置

下载 Maven 的 zip 文件,例如: apache-maven-3.3.3-bin.zip,将它解压到你要安装 Maven 的文件夹。假设你解压缩到文件夹 –  D:\software\yiibai.com\apache-maven

注意:在这一步,只是文件夹和文件,安装不是必需的。

3. 添加 M2_HOME 和 MAVEN_HOME

添加 M2_HOME 和 MAVEN_HOME 环境变量到 Windows 环境变量,并将其指向你的 Maven 文件夹。

M2_HOME 或 MAVEN_HOME
Maven 说只是添加 M2_HOME , 但一些项目仍引用 Maven 的文件夹 MAVEN_HOME, 因此,为了安全也把它添加进去。

4. 添加到环境变量 - PATH

更新 PATH 变量,添加 Maven bin 文件夹到 PATH 的最后,如: %M2_HOME%\bin, 这样就可以在命令中的任何目录下运行 Maven 命令了。

5. 验证

完成,以验证它,执行 mvn –version 在命令提示符下,如下图输出结果:C:\Users\Administrator>mvn -version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:3
7+08:00)
Maven home: D:\software\yiibai.com\apache-maven
Java version: 1.8.0_40, vendor: Oracle Corporation
Java home: D:\Program Files\Java\jdk1.8.0_40
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"如果你看到类似消息,说明 Apache Maven 在 Windows 上已安装成功。

Maven本地资源库

用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹。很简单,当你建立一个Maven项目,所有相关文件将被存储在你的Maven本地仓库。默认情况下,Maven的本地资源库默认为 .m2 目录文件夹通常情况下,可改变默认的 .m2 目录下的默认本地存储库文件夹到其他更有意义的名称,例如, maven-repo找到 {M2_HOME}\conf\setting.xml, 更新 localRepository 到其它名称。
{M2_HOME}\conf\setting.xml
<settings><!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ~/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
--><localRepository>D:\software\yiibai.com\apache-maven\repository</localRepository>


Maven中央存储库

当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 – http://repo1.maven.org/maven2/ 查找下载。Maven 的中央资源库网站是这样的:


Maven中心储存库网站已经改版本,目录浏览可能不再使用。这将直接被重定向到 http://search.maven.org/。这就好多了,现在有一个搜索功能:

PS:目录浏览功能被禁用,但是,当你建立 Maven 的项目,它仍然会从 “http://repo1.maven.org/maven/” 得到依赖, 您可以从 Maven 验证输出。

如何从Maven远程存储库下载

告诉 Maven 来获得 Java.net 的依赖,你需要声明远程仓库在 pom.xml 文件这样: <repositories>
<repository>
<id>java.net</id>
<url>https://maven.java.net/content/repositories/public/</url>
</repository>
</repositories>
现在,Maven的依赖库查询顺序更改为:
在 Maven 本地资源库中搜索,如果没有找到,进入第 2 步,否则退出。
在 Maven 中央存储库搜索,如果没有找到,进入第 3 步,否则退出。
在java.net Maven的远程存储库搜索,如果没有找到,提示错误信息,否则退出。

Maven依赖机制

1.在传统方式

访问 http://logging.apache.org/log4j/
下载 Log4 j的 jar 库
复制 jar 到项目类路径
手动将其包含到项目的依赖
所有的管理需要一切由自己做
如果有 Log4j 版本升级,则需要重复上述步骤一次。

2. 在Maven的方式

你需要知道 log4j 的 Maven 坐标,例如:
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>

它会自动下载 log4j 的1.2.14 版本库。如果“version”标签被忽略,它会自动升级库时当有新的版本时。
声明 Maven 的坐标转换成 pom.xml 文件。
<dependencies>
<dependency>
<groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version>
</dependency>
</dependencies>

当 Maven 编译或构建,log4j 的 jar 会自动下载,并把它放到 Maven 本地存储库
所有由 Maven 管理

定制库到Maven本地资源库

有很多 jar 不支持 Maven 的:

1. mvn 安装

下载 “kaptcha”,将其解压缩并将 kaptcha-version.jar 复制到其他地方
D:\>mvn install:install-file -Dfile=c:\kaptcha-2.3.jar -DgroupId=com.google.code
-DartifactId=kaptcha -Dversion=2.3 -Dpackaging=jar
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'install'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [install:install-file] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [install:install-file]
[INFO] Installing c:\kaptcha-2.3.jar to
D:\maven_repo\com\google\code\kaptcha\2.3\kaptcha-2.3.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Tue May 12 13:41:42 SGT 2014
[INFO] Final Memory: 3M/6M
[INFO] ------------------------------------------------------------------------

2. pom.xml

安装完毕后,就在 pom.xml 中声明 kaptcha 的坐标。<dependency>
<groupId>com.google.code</groupId>
<artifactId>kaptcha</artifactId>
<version>2.3</version>
</dependency>

3. 完成

构建它,现在 “kaptcha” jar 能够从你的 Maven 本地存储库检索了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: