0

我们的应用程序基于瘦战争概念(http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.html)。

 .
 |-- META-INF
 |   `-- application.xml
 |-- lib
 |    -- core application jars
 |    -- spring jars
 |    -- common jar
 |-- war1-1.0.0.war
 |     --war1-jar1-1.0.0.jar
 `-- war2-1.0.0.war
 |     --war2-jar1-1.0.0.jar

我们在应用程序级别加载了 spring jar 和其他核心应用程序 jar。普通 jar 和核心应用 jar 都有自己的 applicationContext.xml。战争也有他们自己的 web-jars,其中有 applicationContext.xml 特定于每场战争。我们注意到,自动装配(在核心应用程序 jar 类中)在应用程序启动时失败,我们在随附的日志文件中看到错误。

以下是观察结果:

  1. 如果在应用程序级别加载的所有 jar 都移动到单独的战争(WEB-INF/lib),自动装配工作正常。
  2. 如果核心应用程序 jar 中的类具有公共访问器,则自动装配工作正常,这是出于安全和封装目的的默认设置。

我们必须遵循 Skinny War 的概念,并且不能修改核心应用程序 jar。

4

0 回答 0