我想要一个包含两个战争包的最终战争包:
前端 - angularjs, BackendApi - 包括REST到下一个(外部api)
我意识到我可以把它装进耳中,但我关心战争
<modules>
<module>Commons</module> <!-- jar package -->
<module>WarCreator</module> <!-- war package -->
<module>Web/Frontend</module> <!-- war package -->
<module>Web/BackendApi</module> <!-- war package -->
</modules>
WarCreator在战争中构建整个包,pom:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>testtest</artifactId>
<groupId>testtest</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<artifactId>Dist</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>testtest</groupId>
<artifactId>Frontend</artifactId>
<version>1.0</version>
<type>war</type>
</dependency>
<dependency>
<groupId>testtest</groupId>
<artifactId>BackendApi</artifactId>
<version>1.0</version>
<type>war</type>
</dependency>
</dependencies>
</project>
Backend和FrontendApi包都有jboss-web.xml文件,具有以下设置:
<jboss-web>
<context-root>/rest</context-root>
</jboss-web>
<jboss-web>
<context-root>/view</context-root>
</jboss-web>
但是最终的war包只有第一个模块,只有这个模块被注册(在widlfly日志中可见)。
有没有办法让战争包含两个战争包?
答案 0 :(得分:0)
你在哪里看到你可以在战争中打包两场战争? 战争不是为了遏制另一场战争。
Maven不会像你注意到的那样自然地做到这一点。
即使你设法通过使用技巧来做到这一点,应用程序服务器也可能无法识别它们
为了达到你想要的效果,可以使用EAR作为打包多场战争或更好的战争的传统方式:不要试图将它们关联起来。
实际上,使WAR独立为其部署和维护提供了更大的灵活性。