gpt4 book ai didi

java - 如何在 Maven 中包含加载其他 jar 的 jar?

转载 作者:行者123 更新时间:2023-12-02 08:50:53 26 4
gpt4 key购买 nike

我正在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com