我继承了一个 Maven 项目。我只是将它用作构建工具,我想尽可能少地打扰事情。我必须对其中一个 Java 文件稍作添加,而该添加要求我在构建路径中包含一个新的 jar。 How do I say: 这里有一个 jar ,随便用吧。它不需要版本控制或依赖或下载或任何东西,只需使用它。任何帮助将不胜感激。
编辑:我找到了this ,这实际上有效(!)。如果知道此类事情的人可以阅读此答案并且看起来合理正确,请将此问题作为重复问题关闭。
编辑:不,我误解了我的结果。它不似乎有效。
最佳答案
到目前为止,使用 maven 管理依赖项的最佳方法是从存储库中获取它们,但我想到了四个选项,按照从最理想到最不理想的顺序排列:
- 如果 jar 是一个常见的第三方库,您几乎可以肯定会在某个存储库中找到它。你只需要添加一个
<dependency>
元素,可能还有一个<repository>
以及它知道从哪里获取依赖项。 - 在任何仓库中都不可用的本地 jar 应该部署到本地仓库,例如 Nexus ,您的整个团队/公司都可以使用。然后像选项 1 一样将依赖项添加到您的项目中。这样它只需要处理一次,其他人都可以通过正常的 Maven 机制获取 jar。
- 为了仅在本地处理问题而不提供工件的任何可重用性,您可以使用 install:install-file 将其安装到本地存储库(意味着位于 ~/.m2/repository 的本地缓存)中。目标。
- 最后,也是最不希望的,您可以使用 system-scoped dependency .这意味着您的文件系统中某处有可用的 jar 文件,设置
<scope>
你的元素<dependency>
到值“系统”,并添加一个<systemPath>
包含相关 jar 的完整路径的元素。
编辑:由于选项 4 似乎适合您,只需将 jar 放入您的项目并将其提交给您的版本控制。然后,假设 jar 位于项目中的 lib/foo.jar 中,将其添加到 POM 的依赖项中:
<dependency>
<groupId>some-group</groupId>
<artifactId>some-artifact</artifactId>
<version>1.2.3.4</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/foo.jar</systemPath>
</dependency>
这都是凭内存,但听起来不错。
关于java - 寻找 Maven 快捷方式——包括 Maven 构建中的 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7072749/