Maven,如何添加repo中没有的其他库

时间:2010-03-19 16:50:11

标签: maven-2 pom.xml

我有一个maven项目,它有一组库依赖项,这些库依赖项不能通过任何maven存储库获得。如何将这些库添加到pom中?我想这样做,所以当我运行'mvn eclipse:eclipse'时,它不会从eclipse类路径中删除这些库。

5 个答案:

答案 0 :(得分:6)

您可以将其声明为system范围的依赖项。

<project>
...
 <dependencies>
   <dependency>
     <groupId>sun.jdk</groupId>
     <artifactId>tools</artifactId>
     <version>1.5.0</version>
     <scope>system</scope>
     <systemPath>${java.home}/../lib/tools.jar</systemPath>
   </dependency>
 </dependencies>
 ...
</project>

答案 1 :(得分:3)

您有3个选项:

  • 通过install:install-file将您的库添加到本地存储库(显然,这不是可移植的,如果不这样做,您将无法在另一台机器上构建项目。)
  • 安装并运行“企业存储库”,如Nexus,Archiva或Artifactory,并通过deploy:deploy-file添加您的库。
  • 按照此previous answer中的说明设置基于文件的存储库,并将您的库放在那里。

然后,像在任何其他依赖项中一样在您的pom中声明您的库。

答案 2 :(得分:1)

您可以将它们与您的项目一起包含在子目录(可能是lib /)中。您还可以提供.bat和/或.sh文件,其中包含对每个项目成员(或服务器环境)所需的maven-install-plugin的所有适当调用,以将这些jar添加到本地存储库。

这种方法允许新项目成员起床和快速运行,无需花费数小时为您的项目或团队建立新的公共回购。

答案 3 :(得分:0)

你不能'将它们添加到pom'。你必须把它们放在一些回购中。您可以使用maven-install-plugin将它们放入本地存储库中,如错误消息所示。或者您可以将它们部署在Nexus的本地副本或类似的东西中。

答案 4 :(得分:0)

最近我创建了一个小UI UI来为您的本地存储库安装库。 它的工作方式与install:install-file相同。

https://github.com/escv/maven-install-ui