Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将自定义库的子依赖项添加到SpringBoot项目中?_Java_Spring Boot - Fatal编程技术网

Java 如何将自定义库的子依赖项添加到SpringBoot项目中?

Java 如何将自定义库的子依赖项添加到SpringBoot项目中?,java,spring-boot,Java,Spring Boot,有一个自定义库具有一些Maven依赖项。将此库添加到SpringBoot项目中时,这些依赖项不包括在SpringBoot项目的Maven依赖项部分中。 例如,SpringBoot项目进行编译,但随后会出现运行时异常。 该如何处理自定义库,或者如何构建其Manifest.mf,要让SpringBoot获取此子依赖项?我从您的问题描述中得到的是,您当前的应用程序有一个pom.xml,并且提到的一个依赖项在打包时存在问题,即它还有更多需要打包的依赖项 在这种情况下,您可以做两件事: 重新打包您的自定

有一个自定义库具有一些Maven依赖项。将此库添加到SpringBoot项目中时,这些依赖项不包括在SpringBoot项目的Maven依赖项部分中。 例如,SpringBoot项目进行编译,但随后会出现运行时异常。
该如何处理自定义库,或者如何构建其Manifest.mf,要让SpringBoot获取此子依赖项?

我从您的问题描述中得到的是,您当前的应用程序有一个pom.xml,并且提到的一个依赖项在打包时存在问题,即它还有更多需要打包的依赖项

在这种情况下,您可以做两件事:

  • 重新打包您的自定义库以包含其所有依赖项,并形成一个胖jar,然后您可以将其称为您的依赖项

  • 否则,您可以使用自定义库的pom并将所有依赖项添加为项目依赖项


在我的例子中,将compile添加到库的pom依赖项解决了这个问题。感谢大家的帮助。

您可能应该为您的问题添加更多细节(例如maven POM、项目结构等),但听起来您必须将缺少的依赖项添加到您自己的POM.xml中,以便将它们加载到您的项目中。例如,如果我将drools core添加到我的SB项目中,那么所有drools sup依赖项都包含在SB项目的Maven dependencies部分中,该部分稍后由Maven解析并包含在SB BOOT-INF/lib文件夹中。但是,如果我将drools核心添加到我的自定义库中,然后将自定义库包括到我的SB项目中,那么drools库并不是作为可传递依赖项添加的,但我希望是这样。谢谢!我在想,不用复制粘贴pom,我可以将库配置为在Manifest.mf文件中具有其依赖项,并且可以在主项目中使用它来解决这些依赖项。实际上,理想情况下,如果自定义库也作为maven工件添加(即,只能从本地maven repo中添加),则可以解决可传递的依赖项。我觉得您正在将自定义库添加为系统作用域级别,导致它无法利用自定义libs pom.xml,从而阻止了可传递依赖项的发现。