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

标签 java maven jar

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

相关文章:

java - 我的.jar文件无法打开MP3文件(我使用的是Jlayer-JZoom库)

java - 为什么选择 SwingWorker?为什么不只是 Thread 或 Runnable?

java - 如何检查重复输入并防止将其添加到数据库中

java - Maven 嵌入式 Tomcat6 无法启动

java - 构建 Maven 3.0.4 时出现错误 : Could not find or load main class org. codehaus.classworlds.Launcher

maven - 客户端管理员的 Apache Kafka Maven 包名称

java - JAR 文件是否依赖于机器

JavaFX 如何使 GridPane 适合 ScrollPane 父级?

java - 使用额外的细节增强对象

java - 致命异常 : java. lang.VerifyError:来自导入的 jar 文件