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