Spring-boot @ImportResource 在 Weblogic 中被忽略
Spring-boot @ImportResource ignored in Weblogic
我在 weblogic-12c 中部署 spring-boot legacy-war 时遇到了一个奇怪的问题。相同的 war/application 适用于 mvn spring-boot:运行 (embedded-tomcat) / Standalone tomcat war 部署。
主应用程序中配置的@ImportResource 未加载,这导致了一些 bean 注入不一致。在 weblogic12c 中部署是否有任何已知问题需要解决?
注意:我已经在下面尝试过:
1.扩展SpringBootServletInitializer实现WebApplicationInitializer
2.单独的内部配置class
@Configuration @ImportResource({
"classpath*:**/**my-applicationContext.xml"}) @ComponentScan(basePackages =
{"com.myapp"
})
- SLF4J 在 weblogic.xml
中排除
<wls:prefer-application-packages>
<wls:package-name>org.slf4j</wls:package-name>
<wls:package-name>com.google.common.*</wls:package-name>
</wls:prefer-application-packages>
问题出在用于加载 xml-appcontexts 的 Antlr 模式。奇怪的是,相同的表达式在嵌入式 tomcat / 独立 tomcat.
中起作用
解决方法是扩展少数 *
@Configuration
@ImportResource({
"classpath*:mypackage/**my-applicationContext.xml"})
@ComponentScan(basePackages = {"com.myapp" })
调试信息:
AbstractBeanDefinitionReader (Line 216) - spring-beans-4.2.4
我在 weblogic-12c 中部署 spring-boot legacy-war 时遇到了一个奇怪的问题。相同的 war/application 适用于 mvn spring-boot:运行 (embedded-tomcat) / Standalone tomcat war 部署。
主应用程序中配置的@ImportResource 未加载,这导致了一些 bean 注入不一致。在 weblogic12c 中部署是否有任何已知问题需要解决?
注意:我已经在下面尝试过: 1.扩展SpringBootServletInitializer实现WebApplicationInitializer 2.单独的内部配置class
@Configuration @ImportResource({ "classpath*:**/**my-applicationContext.xml"}) @ComponentScan(basePackages = {"com.myapp" })
- SLF4J 在 weblogic.xml 中排除
<wls:prefer-application-packages> <wls:package-name>org.slf4j</wls:package-name> <wls:package-name>com.google.common.*</wls:package-name> </wls:prefer-application-packages>
问题出在用于加载 xml-appcontexts 的 Antlr 模式。奇怪的是,相同的表达式在嵌入式 tomcat / 独立 tomcat.
中起作用解决方法是扩展少数 *
@Configuration
@ImportResource({
"classpath*:mypackage/**my-applicationContext.xml"})
@ComponentScan(basePackages = {"com.myapp" })
调试信息:
AbstractBeanDefinitionReader (Line 216) - spring-beans-4.2.4