Maven 2 Maven,如何添加回购中不可用的附加LIB
我有一个maven项目,它有一组库依赖项,这些依赖项在任何maven存储库中都不可用。如何将这些库添加到pom中?我希望在运行“mvn eclipse:eclipse”时这样做,因为它不会从eclipse类路径中删除这些库。您不能“将它们添加到pom”。你必须把它们放在回购协议中。按照错误消息的建议,您可以使用maven安装插件将它们放在本地repo中。或者,您可以将它们部署在Nexus的本地副本或类似副本中。您可以将其声明为具有Maven 2 Maven,如何添加回购中不可用的附加LIB,maven-2,pom.xml,Maven 2,Pom.xml,我有一个maven项目,它有一组库依赖项,这些依赖项在任何maven存储库中都不可用。如何将这些库添加到pom中?我希望在运行“mvn eclipse:eclipse”时这样做,因为它不会从eclipse类路径中删除这些库。您不能“将它们添加到pom”。你必须把它们放在回购协议中。按照错误消息的建议,您可以使用maven安装插件将它们放在本地repo中。或者,您可以将它们部署在Nexus的本地副本或类似副本中。您可以将其声明为具有system作用域的依赖项 <project> ...
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>
...
sun.jdk
工具
1.5.0
系统
${java.home}/./lib/tools.jar
...
您有3个选项:
- 通过
将库添加到本地存储库(显然,这是不可移植的,如果不这样做,您将无法在另一台计算机上构建项目)install:install file
- 安装并运行“企业存储库”,如Nexus、Archiva或Artifactory,并通过
添加库deploy:deploy file
- 按照本文所述设置基于文件的存储库,并将库放在其中
然后,像其他依赖项一样在pom中声明库。您可以将它们包含在项目的子目录(可能是lib/)中。您还可以提供.bat和/或.sh文件,其中包含每个项目成员(或服务器环境)将这些JAR添加到本地repo所需的对maven安装插件的所有适当调用
这种方法允许新项目成员快速启动和运行,而无需花费数小时为您的项目或团队建立新的公共回购。最近,我创建了一个小型UI Util,用于将库安装到本地存储库中。 它的工作方式与
安装:安装文件
相同
完全不推荐!这是一个黑客攻击,系统范围不适用于此用途,这是缺点/副作用。我不同意你的看法。问题没有具体说明任何有关预期用途的内容。他需要添加它,以便eclipse不会将其从类路径中删除。对于任何以后可能使用汇编插件之类的东西的严肃项目,您不希望使用系统范围。这只是一个不好的做法,我不建议这样做。请包含一些关于如何工作的代码,而不仅仅是一个链接。不需要代码,因为它是一个小型可运行的UI应用程序。下载链接为: