基本的に私はマルチモジュールアプリケーションを持っています:
データビジネスウェブアプリ
web-appの部分には 、さまざまなapplicationContext.xml構成ファイルをロードするためのこの構成のweb.xmlがあります。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:META-INF/spring/applicationContext.xml</param-value>
</context-param>
[...]
<!-- Handles Spring requests -->
<servlet>
<servlet-name>empp-v2-web</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/spring/webmvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
私の他の2つのモジュールには、それぞれMETA-INF / spring/applicationContext.xmlがあります。webmvc-config.xmlでは、@ Controllerアノテーションが付いたクラスに対してのみコンポーネントスキャンを実行しますが、applicationContextでは、コントローラーを除く基本パッケージ内のすべてをスキャンします。
問題は、コントローラーでBeanを自動配線しようとすると、常にNoSuchBeanDefinitionExceptionが発生することです。これは、Eclipseで構成されたサーバー上で「追加と削除」を使用して展開されたプロジェクトとしてアプリケーションを実行すると発生します。Mavenビルドを実行し、同じサーバーにアプリケーションを手動でデプロイすると、アプリケーションは機能し、Beanは自動配線されます。m2eclipseには特別な設定が必要ですか?私には、この場合、applicationContext.xmlがロードされていないようです。m2eclipseが正しい場所でリソースファイルを処理していることをどのように確認できますか?