私たちのアプリケーションは、スキニー戦争の概念 ( 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 があります。また、戦争には、各戦争に固有の applicationContext.xml を持つ独自の web-jar があります。アプリケーションの起動時に (コア アプリケーションの jar クラスで) オートワイヤリングが失敗し、添付のログ ファイルにエラーが表示されることに気付きました。
所見は次のとおりです。
- アプリケーション レベルでロードされたすべての jar が個々の wars(WEB-INF/lib) に移動されている場合、自動配線は正常に機能します。
- コア アプリケーション jar 内のクラスにパブリック アクセサー (セキュリティとカプセル化の目的でデフォルトである) がある場合、自動配線は正常に機能します。
スキニー戦争の概念に従う必要があり、コア アプリケーション jar は変更できません。