使用maven-install-plugin在文件夹中安装所有jar

时间:2012-08-24 07:22:36

标签: maven maven-plugin pom.xml

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

2 个答案:

答案 0 :(得分: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.xml中的systemPath标记中指定dependency

<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>

答案 1 :(得分:1)

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