我正在 NetBeans 中开发 Java 应用程序,并使用 Maven 作为依赖项。我的文件夹中有一堆 jar 。这些 jar 加载位于它们已知的路径中的其他 jar。在我看来,当我在 Maven 中加载本地 jar 时,它实际上是将 jar 复制到另一个位置。问题是移动的 jar 无法再找到其他 jar,因为现在它们的相对路径已损坏。 是否可以以这样的方式使用maven,即包含的 jar 不会从原来的位置移动,以便他们可以找到其他 jar ?或者如果这是不可能的,有没有办法给maven一个包含子文件夹的整个文件夹,如果maven移动整个文件夹,它也会移动所有包含jar包的子文件夹? 我不确定我是否说得足够清楚。我也是maven新手。我觉得ant在这方面比较灵活。
编辑:看了评论后,我似乎不太清楚。基本上,我工作的公司有两个应用程序,它们共享一些通用的 jar,并使用 URLClassLoader 加载其他 jar。我不想再次分发这些常见的 jar,我希望我的第二个应用程序从我的第一个应用程序放置这些 jar 的位置查找并加载这些 jar。我找到了一种解决方案,即使用 maven 导入一个 jar,该 jar 使用 URLClassLoader 和硬编码路径来加载其他 jar。
最佳答案
我有一个模块,其 pom 文件开头包含这些行:
<groupId>com.domain.project</groupId>
<artifactId>MyFirstProgect</artifactId>
<packaging>jar</packaging>
<version>1.2.3-snapshot</version>
编译此项目后,maven 会将其放入本地存储库(我的位于 C:\Users\MyUser.m2\repository,在 Linux 中它应该位于/home/myUser/.m2/repository 中的某个位置) .
之后我可以在第二个项目中添加依赖项,如下所示:
<dependency>
<groupId>com.domain.project</groupId>
<artifactId>MyFirstProgect</artifactId>
<version>1.2.3-snapshot</version>
</dependency>
就我而言,这对我有帮助。 附:但这将导致整个第一个项目被添加为依赖项。所以也许这不是您的完美解决方案。
关于java - 如何在 Maven 中包含加载其他 jar 的 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29757648/