У меня есть следующая структура проекта:
root
|---- web_1 (war)
|
|---- web_2 (war)
|
|---- common-security (jar)
|
|---- ear_1 (war_1 + common-security)
|
|---- ear_2 (war_2 + common-security)
В этом common-security я добавил зависимость org.springframework:spring-web:5.0.9.RELEASE
.
Это примерреализация WebApplicationInitializer
, представленная в common-security :
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.WebApplicationInitializer;
public class MySecureWebApplicationInitializer implements WebApplicationInitializer {
private final Logger logger = LogManager.getLogger(getClass());
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
logger.info("m");
}
}
Каждый ear содержит файл war и общая безопасность баночка.Кувшин common-security добавлен в Class-Path в META-INF/MANIFEST.MF
модуля war .Каждый файл war содержит web.xml
, а моя версия сервлета 3.1.
Когда я попадаю на целевую страницу, я вижу:
No Spring WebApplicationInitializer types detected on classpath
Но если я продублирую реализацию WebApplicationInitializer
в любом модуле war и уберу зависимость common-security , из этого модуля я обнаружу, что он обнаруживает один WebApplicationInitializer
и регистрируетназначенное сообщение.
Мне нужен один общий модуль пружины и безопасности, который будет использоваться двумя разными войнами.
Любой указатель будет хорош.