如何解决错误“无法排除以下类,因为它们不是自动配置类”?

par*_*hta 13 java spring spring-boot

在启动 Spring Boot 应用程序时,我收到此错误:

The following classes could not be excluded because they are not auto-configuration classes:
        - org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration
Run Code Online (Sandbox Code Playgroud)

这就是我的应用程序的样子。我已排除WebsecurityConfiguration.classEnablEAutoConfiguration但我不断收到上述错误。如果我WebsecurityConfiguration.class从排除中删除,我的应用程序将无法从 获取属性application.yaml。你能帮我解决这个问题吗?

@Configuration
@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class, SecurityAutoConfiguration.class,
        ManagementWebSecurityAutoConfiguration.class, WebSecurityConfiguration.class

})
// @ComponentScan("com.infy.ceh.management")
@ComponentScan(basePackages = "com.infy.ceh.management", excludeFilters = @Filter(type = FilterType.CUSTOM, value = {
        ExcludeAnnotationFilter.class })

)
public class AgentApplication {

}
Run Code Online (Sandbox Code Playgroud)

Kon*_*rov 16

在 SpringBoot 应用程序的入口点中,使用以下内容:

@SpringBootApplication
@ComponentScan(excludeFilters={@ComponentScan.Filter(type= FilterType.ASSIGNABLE_TYPE, value=<classThatYouWantToExclued>.class)})
public class TestApplication {
Run Code Online (Sandbox Code Playgroud)


Luc*_*rin 1

该错误告诉您这WebSecurityConfiguration不是自动配置类,但您在该@EnableAutoConfiguration部分中将其排除。我将从中删除该类EnableAutoConfiguration并用@ComponentScanand对其进行过滤ExcludeAnnotationFilter