Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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 组件扫描其他@SpringBootApplication时,SpringBootApplication排除_Java_Solr_Spring Boot_Component Scan - Fatal编程技术网

Java 组件扫描其他@SpringBootApplication时,SpringBootApplication排除

Java 组件扫描其他@SpringBootApplication时,SpringBootApplication排除,java,solr,spring-boot,component-scan,Java,Solr,Spring Boot,Component Scan,我在阻止Spring Boot自动配置某些类时遇到了一些困难(在本例中:SolrAutoConfiguration)。为了说明这一点,我设置了一个大大简化的示例: 实际上,大约有20多个内部@SpringBootApplication项目,每个项目都有自己的依赖项。(不理想/不是我的想法,但现在很难改变。) 出现问题的原因是多个子项目使用Solr5.2.1,但SpringBoot仅与4.x兼容。在最后一个应用程序(示例中的模块b)中,我希望导入所有模块中的所有@SpringBootApplic

我在阻止Spring Boot自动配置某些类时遇到了一些困难(在本例中:SolrAutoConfiguration)。为了说明这一点,我设置了一个大大简化的示例:

实际上,大约有20多个内部
@SpringBootApplication
项目,每个项目都有自己的依赖项。(不理想/不是我的想法,但现在很难改变。)

出现问题的原因是多个子项目使用Solr5.2.1,但SpringBoot仅与4.x兼容。在最后一个应用程序(示例中的模块b)中,我希望导入所有模块中的所有
@SpringBootApplication
类,同时阻止
SolrAutoConfiguration
运行:

@ComponentScan("project") // Broad scan across all company jars
@SpringBootApplication(exclude = { SolrAutoConfiguration.class }) // Failing exclude
public class ModuleBApp {
    public static void main(final String[] args) {
        SpringApplication.run(ModuleBApp.class, args);
    }
}
这会失败,因为通过
@ComponentScan
拾取的
@springbootcapplication
的任何实例在没有特定排除的情况下仍会加载
SolrAutoConfiguration

当组合多个
@SpringBootApplication
类时,如何正确排除自动配置类


我已经尝试在我的最后一个
@springboot应用程序中使用
excludeFilters
,但还没有找到解决方案。

目前我认为这是不可能的。这些问题与这个问题完全相关。

目前我认为这是不可能的。问题和与此问题完全相关。

Spring Boot 1.3.0.M3引入了使用属性排除自动配置的功能:

注意,它应该是
spring.autoconfigure.exclude
,而不是像发行说明中那样
excludes


这有助于防止Spring Boot在存在多个
@EnableAutoConfiguration
/
@SpringBootApplication
注释的情况下加载自动配置类。

Spring Boot 1.3.0.M3引入了使用属性排除自动配置的功能:

注意,它应该是
spring.autoconfigure.exclude
,而不是像发行说明中那样
excludes

这有助于防止Spring Boot在存在多个
@EnableAutoConfiguration
/
@SpringBootApplication
注释的情况下加载自动配置类

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration