Ich verstehe nicht warum im folgenden minimalen Projekt meine Implementierung von Spring WebApplicationInitializer
Schnittstelle gefunden wird, wenn Tests innerhalb von Eclipse und IntelliJ, aber nicht bei Verwendung von Maven (mvn clean test
).Spring WebApplicationInitializer (ServletContainerInitializer, @HandlesTypes) mit eingebettetem Tomcat
Mit Eclipse und IntelliJ Ich sehe INFO: Spring WebApplicationInitializers detected on classpath: [[email protected]]
Mit mvn clean test
ich INFO: No Spring WebApplicationInitializer types detected on classpath
sehen.
Im Test leite ich eine Embedded Tomcat:
String pathToWebXML = new File("src/main/webapp/").getAbsolutePath();
tomcat = new Tomcat();
tomcat.setBaseDir("embedded_tomcat");
tomcat.setPort(0);
tomcat.addWebapp("", pathToWebXML);
tomcat.start();
Die web.xml
verweist auf eine ServletContextListener
Implementierung, die ein neues (und leer) AnnotationConfigWebApplicationContext
schafft.
ich das Beispielprojekt auf GitHub hochgeladen: https://github.com/C-Otto/webapplicationinitializer
Welche Version von Java verwenden Sie in IntelliJ? Verwenden Sie Java 8? Ich habe festgestellt, dass in der Pom-Datei Java 8 –
@Periklis Ja verwende ich Java 8. Haben Sie einen Hinweis, dass ich Java 8 nicht ausführen? Ich bin verwirrt über deine Frage. –
Sorry für die Verwirrung, ich wollte nur sicherstellen, dass die Java-Version, die Sie in IntelliJ verwenden, dieselbe Version ist, die Sie in pom.xml definiert haben. Wann immer ich Zeit habe, würde ich Ihre Anwendung herunterladen und ich werde es versuchen –