3

我的项目中有一个带有一些外部 jar 的文件夹 lib。我正在使用 maven-install-plugin 将这些 jar 添加到我的本地存储库中。但是,我需要为要安装的每个 jar 创建单独的配置。有没有办法可以将 lib 文件夹中的所有 jar 复制到本地存储库中。

4

2 回答 2

2

选项一

如果 lib 目录的内容与 maven 存储库中的目录结构匹配,即:

/lib/{groupid1}/{groupid2}/{artifactid}/{version}/{artifactid}-{version}.jar

例如:

/lib/commons-lang/commons-lang/2.6/commons-lang-2.6.jar 

您可以将整个目录复制到您的~/.m2/repository目录

cp -R lib/*  ~/.m2/repository

如果没有,那么您必须手动安装它们,因为 Maven 无法从文件名中计算出组 id 是什么。

选项二

另一种选择是根本不将它们放入本地存储库,而是在 pom.xmlsystemPath的标签中指定 adependency

<dependency>
  <groupId>commons-logging</groupId>
  <artifactId>commons-logging</artifactId>
  <version>1.0.4</version>
  <scope>system</scope>
  <systemPath>${project.basedir}/lib/commons-logging-1.0.4.jar</systemPath>
</dependency>
于 2012-08-24T07:33:14.703 回答
1

您需要特别提供这些文件的 groupId、artifactId 和版本,因为这些是 Maven 坐标以区分 Maven 中的工件。如果您有一个 lib 文件夹,最好开始使用存储库管理器并将它们安装到存储库管理器中一次,然后您可以将它们用作通常的依赖项。

于 2012-08-24T09:06:04.557 回答