Maven教程【整理】-(3)-依赖机制/ 自定义到本地库
来源:互联网 发布:淘宝代购 编辑:程序博客网 时间:2024/06/06 06:36
注:参考自 http://www.yiibai.com/maven/
一、依赖机制
在 Maven 依赖机制的帮助下自动下载所有必需的依赖库,并保持版本升级。
案例分析
让我们看一个案例研究,以了解它是如何工作的。假设你想使用 Log4j 作为项目的日志。这里你要做什么?
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发生了什么?当建立一个Maven的项目,pom.xml文件将被解析,如果看到 log4j 的 Maven 坐标,然后 Maven 按此顺序搜索 log4j 库:
- 在 Maven 的本地仓库搜索 log4j
- 在 Maven 中央存储库搜索 log4j
- 在 Maven 远程仓库搜索 log4j(如果在 pom.xml 中定义)
Maven 依赖库管理是一个非常好的工具,为您节省了大量的工作。
如何找到 Maven 坐标?
访问 Maven 中心储存库,搜索下载您想要的jar。
二、自定义到本地库
这里有2个案例,需要手动发出Maven命令包括一个 jar 到 Maven 的本地资源库。
- 要使用的 jar 不存在于 Maven 的中心储存库中。
- 您创建了一个自定义的 jar ,而另一个 Maven 项目需要使用。
PS,还是有很多 jar 不支持 Maven 的。
案例学习
例如,kaptcha,它是一个流行的第三方Java库,它被用来生成 “验证码” 的图片,以阻止垃圾邮件,但它不在 Maven 的中央仓库中。
在本教程中,我们将告诉你如何安装 “kaptcha” jar 到Maven 的本地资源库。
1. mvn 安装
下载 “kaptcha”,将其解压缩并将 kaptcha-version.jar 复制到其他地方,比如:C盘。发出下面的命令:
mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion={version} -Dpackaging=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] ------------------------------------------------------------------------
现在,“kaptcha” jar被复制到 Maven 本地存储库。
2. pom.xml
安装完毕后,就在 pom.xml 中声明 kaptcha 的坐标。
<dependency> <groupId>com.google.code</groupId> <artifactId>kaptcha</artifactId> <version>2.3</version> </dependency>
3. 完成
构建它,现在 “kaptcha” jar 能够从你的 Maven 本地存储库检索了。
- Maven教程【整理】-(3)-依赖机制/ 自定义到本地库
- 如何通过maven命令将本地的jar包添加到maven依赖库中
- 添加自定义jar包到本地Maven库
- Maven依赖机制(七)
- 【Maven】依赖机制(四)
- Maven入门3- Maven依赖机制
- maven教程(四):maven依赖管理
- maven手动安装依赖jar包到本地库和远程库
- Android 使用bintray将本地库上传到JCenter做maven依赖库
- Maven手动依赖jar包到本地仓库
- Maven添加本地依赖
- Maven添加本地依赖
- maven本地jar依赖
- maven依赖本地库到私库
- Maven自定义上传第三方包到3rd party(第三方无依赖jar和本地扩展类加入maven统一管理)
- maven 手动把本地jar安装到本地仓库,maven手动安装依赖jar包
- Maven添加本地jar包、添加依赖jar文件到本地Maven仓库
- maven 手动把本地jar安装到本地仓库,maven手动安装依赖jar包
- 数组 集合 map
- Socket通信基础
- 电脑修改桌面图标
- Assets.xcassets导致的错误
- 处理SSM框架中css、js、image等加载不出来
- Maven教程【整理】-(3)-依赖机制/ 自定义到本地库
- Oracle存储过程(1)
- java之单例模式
- ARToolkit在ubuntu14.04下的完整配置
- Lintcode70 Binary Tree Level Order Traversal II solution 题解
- 2D 摄像机跟随的套路
- postMan模拟ajax请求
- Webpack基本概念Loader
- 阿里90后工程师,如何用AI程序写出双11打call歌?