次の最小プロジェクトで、WebApplicationInitializer
Eclipse および IntelliJ 内でテストを実行すると Spring のインターフェースの実装が検出されるのに、Maven を使用すると検出されない理由がわかりません ( mvn clean test
)。
Eclipse と IntelIJ を使用するとわかりますINFO: Spring WebApplicationInitializers detected on classpath: [com.example.pack.DummyInitializer@26d678a4]
mvn clean test
なるほどINFO: No Spring WebApplicationInitializer types detected on classpath
。_
テストでは、埋め込み Tomcat を起動します。
String pathToWebXML = new File("src/main/webapp/").getAbsolutePath();
tomcat = new Tomcat();
tomcat.setBaseDir("embedded_tomcat");
tomcat.setPort(0);
tomcat.addWebapp("", pathToWebXML);
tomcat.start();
は、新しい (そして空の) を作成する実装をweb.xml
参照します。ServletContextListener
AnnotationConfigWebApplicationContext
サンプル プロジェクトを GitHub にアップロードしました: https://github.com/C-Otto/webapplicationinitializer