Java 将多个maven项目合并为一个war

Java 将多个maven项目合并为一个war,java,spring,maven,tomcat,Java,Spring,Maven,Tomcat,我有这样的maven结构: Parent Module |--Backend services module (Spring) |--Web module (angularjs) 当我把它们作为单独的战争文件运行时,一切都正常。 但我想做的是将它们作为一个.war文件构建和运行 所以我把web模块打包成war,并给他一个后端jar的依赖项。当我在tomcat上运行它们时,web模块运行良好,但Spring服务(后端)根本不工作。当我单独启动后端服务模块时,我会在日志“INFO:initial

我有这样的maven结构:

Parent Module
|--Backend services module (Spring) 
|--Web module (angularjs)
当我把它们作为单独的战争文件运行时,一切都正常。 但我想做的是将它们作为一个.war文件构建和运行

所以我把web模块打包成war,并给他一个后端jar的依赖项。当我在tomcat上运行它们时,web模块运行良好,但Spring服务(后端)根本不工作。当我单独启动后端服务模块时,我会在日志“INFO:initializationspringroot-WebApplicationContext”等中看到这一点。。但当后端是另一个项目中的依赖项时,这种情况不会发生

主web.xml和spring context.xml文件位于后端模块中

有办法吗

“主web.xml和spring context.xml文件位于后端 模块。”

您提到后端现在是一个JAR,所以它不能包含web.xml(在web-INF下)。Web模块应该包含webapp(包括Web.xml)和初始化Spring等


在我看来,他们应该是同一场战争。您可以使用后端(如果它已经是一个包含web.xml的WAR),并将其添加到web中的所有HTMLs/JS。

web是如何连接到后端的?AJAX调用?是的,使用AJAX和REST是的,你是对的。我已经考虑过了,但是spring初始化的东西会在单独的项目中吗?也许相反的方式更好,这样后端模块会生成war文件,在生成过程中它会复制webapp/文件夹中的angularjs东西?在我看来,它们应该是同一个war。您可以使用后端,并从Web将其添加到所有HTMLs/JS中。不,SpringInit不应该是一个单独的项目。应该是关于战争的。是的。。。似乎把这两个模块分开不是件好事。。。更容易将其作为一个模块。。