将第三方jar包安装到本地maven仓库

这里有2个案例,需要手动发出Maven命令包括一个 jar 到 Maven 的本地资源库。

  1. 要使用的 jar 不存在于 Maven 的中心储存库中。
  1. 您创建了一个自定义的 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内置变量说明: 

    • ${basedir} 项目根目录
    • ${project.build.directory} 构建目录,缺省为target
    • ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
    • ${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
    • ${project.packaging} 打包类型,缺省为jar
    • ${project.xxx} 当前pom文件的任意节点的内容
上一篇:Windows任务管理 连接用户登录信息 通用类[C#版]


下一篇:cookie 和session 的区别详解