这个问题有一个特定的版本和一个通用的版本。我会双向询问。
具体问题
我们有一个传统的Spring Web应用程序,该应用程序与我们正在推向Cloud Foundry的Apache Camel集成。它取决于引入spring-cloud-security
(因此还有spring-boot-autoconfigure
等)的自定义库。部署到Cloud Foundry时,Java自动重新配置会在类路径上查找WebApplicationInitializer
,而找到的一个是JerseyAutoConfiguration
。当它调用那个特定的WebApplicationInitializer
时,我们得到注释解析错误。有没有办法排除那个人? @EnableAutoConfiguration(exclude=...)
不起作用,因为这在“自动配置”步骤中没有发生。
一般问题
是否可以通过web.xml
或其他某种方式告诉Java Autoreconfigure代码(通过Java buildpack包含)跳过执行某些WebApplicationInitializer
的方法?
最佳答案
如果将应用程序部署为可执行文件而不是WAR,则不会扫描WebApplicationInitializers
(这是Spring而不是buildpack的东西)。