我耳边有多个战争档案。每个war文件对应于特定版本。这是打包的结构:
TestServiceEAR
ServiceOneWAR --> http://host:port/test/1.0
ServiceTwoWAR --> http://host:port//test/2.0.
我想将ServiceOneWAR定位为http://host:port/test/1.0,将ServiceTwoWAR定位为http://host:port/test/2.0。我尝试将TestServiceEAR / EARContent / META-INF / application.xml中的context-roots设置为/test/1.0和/test/2.0,但这不起作用。
请建议是否可以在Websphere应用服务器中实现。我无法访问组织中的Web服务器。
application.xml是:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" version="6">
<display-name>TestServiceEAR</display-name>
<module>
<web>
<web-uri>TestService_v1.war</web-uri>
<context-root>/test/1.0</context-root>
</web>
</module>
<module id="Module_1431504891524">
<web>
<web-uri>TestService_v2.war</web-uri>
<context-root>/test/2.0</context-root>
</web>
</module>
<library-directory>lib</library-directory>
</application>
解决了这个问题。问题是我正在更新application.xml中的上下文,并将其重置为pom.xml中的先前值。更新pom.xml后问题得到解决。
<webModule>
<groupId>${war.groupId}</groupId>
<artifactId>${war.artifactId}</artifactId>
<uri>${war.artifactId}.war</uri>
<bundleFileName>${war.artifactId}.war</bundleFileName>
<contextRoot>/test/1.0</contextRoot>
</webModule>