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

原文地址: https://www.cnblogs.com/yangchengdebokeyuan/p/11465572.html

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

  1. 要使用的 jar 不存在于 Maven 的中心储存库中。

  2. 您创建了一个自定义的 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 的坐标。

  <groupId>com.google.code</groupId>

  <artifactId>kaptcha</artifactId>

  <version>2.3</version>

3. 完成

构建它,现在 “kaptcha” jar 能够从你的 Maven 本地存储库检索了。

Maven 内置变量说明:

  • ${basedir} 项目根目录
  • ${project.build.directory} 构建目录,缺省为 target
  • ${project.build.outputDirectory} 构建过程输出目录,缺省为 target/classes
  • ${project.build.finalName} 产出物名称,缺省为 p r o j e c t . a r t i f a c t I d − {project.artifactId}- project.artifactId{project.version}
  • ${project.packaging} 打包类型,缺省为 jar
  • ${project.xxx} 当前 pom 文件的任意节点的内容
posted @ 2022-10-30 23:21  寒小韩  阅读(191)  评论(0编辑  收藏  举报