如何将嵌套的 Spring 引导应用程序作为依赖项添加到另一个 Spring 引导应用程序而被忽略?

How to have nested Spring Boot applications added as dependencies to another Spring Boot application ignored?

我有两个 Spring 引导应用程序,更准确地说,一个是 Spring YARN 应用程序(目前我的测试,我使用 this tutorial 中的那个),另一个旨在提供 REST 接口。我希望能够通过 REST 接口将 YARN 应用程序提交到我的 Hadoop 集群。因此,我将 Spring YARN 应用程序添加为我的 REST 应用程序的依赖项。现在我遇到的问题是,当我启动我的 REST 应用程序时,也发现了 Spring YARN 客户端,这导致它启动,但按预期失败了。 我现在的问题是:如何告诉 Spring Boot 的 @EnableAutoConfiguration 忽略 Spring YARN 应用程序?

我尝试了以下操作但没有成功:

我想做的事情是不可能的,还是背后有什么诡计?

解决了!

您可以在那里找到 Spring Boot Reference Guide directed me to the solution. If you more thoroughly read the section on Gradually replacing auto-configuration

If you need to find out what auto-configuration is currently being applied, and why, starting your application with the --debug switch. This will log an auto-configuration report to the console.

我这样做了,看到启动过程试图执行 YarnClientAutoConfiguration,所以我将我的自动配置行更改为

@EnableAutoConfiguration(exclude = YarnClientAutoConfiguration.class)

瞧,我得到了我想要的。