我正在使用嵌入式tomcat通过maven appassembly插件部署我的应用程序的war文件。我的应用程序是用Spring构建的,它使用WebApplicationInitializer而不是web.xml。应用程序部署在嵌入式tomcat中,但是当我向tomcat实例添加jamon.war (用于检测)时,将再次调用应用程序的WebApplicationInitializer实现。
我花了近8-9个小时来弄清楚这一点,但无法解决,任何帮助都将非常感谢。创建Tomcat实例和加载两个wars的代码如下所述。
Tomcat tomcat = new Tomcat();
tomcat.setHostname("localhost");
tomcat.setPort(8080);
File appWar = new File("/home/myApp.war");
Context context = tomcat.addWebapp("", appWar.getAbsolutePath()); // This is my Spring app.
File jamonWar = new File("/home/jamon-war-2.4.war");
Context context = tomcat.addWebapp("", jamonWar.getAbsolutePath());
tomcat.start();发布于 2020-12-10 06:25:33
这个问题得到了解决,我错误地在maven汇编插件pom.xml中添加了jar文件(包含WebApplicationInitializer实现类),然后将其添加到dist/repo目录下,这就是为什么该类被加载了两次。
https://stackoverflow.com/questions/65192664
复制相似问题