首页 > 解决方案 > 在 Springboot Maven 项目中,如何从另一个 Jar 中引用?

问题描述

我有一个 SpringBoot Maven 项目。我依赖于另一组库。目前指向他们的存储库路径,将其下载到 .m2 存储库并使用。

但是存储库网站不可靠。所以我想将依赖库作为 JAR 的一部分打包到资源文件夹中。将罐子放入资源文件夹后。如何获取类型/库的引用?

目前:

<dependencies>
<dependency>
            <groupId>org.dcm4che</groupId>
            <artifactId>dcm4che-core</artifactId>
            <version>5.23.1</version>
</dependency>
    </dependencies>
<repositories>
        <repository>
            <id>www.dcm4che.org</id>
            <name>dcm4che Repository</name>
            <url>https://www.dcm4che.org/maven2</url>
        </repository>
</repositories>

标签: spring-bootmavenjar

解决方案


您可以将所有库放在项目中或本地某个文件夹中的单个文件夹中。然后,您可以将它们添加到您的 Maven POM 中。

假设您将所有 jar 文件放在一个名为libs基础项目目录的文件夹中。然后,您可以在 maven POM 中添加类似于以下内容的内容。

<groupId>com.abc.xyz</groupId>
<artifactId>my-artifact-id</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/libs/my-jar-name.jar</systemPath>

您需要使用范围system。摘自Maven网站,

范围:系统 - 此范围类似于提供的范围,不同之处在于您必须明确提供包含它的 JAR。工件始终可用,不会在存储库中查找。

Maven 文档

如果您进一步阅读,它还提到这已被弃用。因此,它是一个不错的快速修复或 hack,但最好的办法是按照其他人的建议设置一个存储库管理器。


推荐阅读