Websphere liberty 向 ear/application.xml 中提到的上下文根添加前缀

Websphere liberty add prefix to context roots mentioned in ear/application.xml

我们正在使用 websphere liberty 8.5.5.9。我想知道有什么方法可以 override/add 为所有 Web 应用程序打包一个自定义前缀?

我不想达到 application.xml 水平。相反,我想在 server.xml 级别进行。有什么办法吗?

例如,如果我的耳朵包含两个 war 模块,其上下文根是 sample1、sample2。前缀后的最终上下文根应类似于 example/sample1、example/sample2.

关于 WebSphere Liberty, 我不认为有一种方法可以使作为 ear 文件一部分的 Web 模块的上下文根工作(通过在 server.xml 中定义)。但是您可以为 web 模块定义上下文根,如下所示:

您也可以为 ear 文件定义上下文根,但它会被忽略。

CWWKZ0126W: 在 {1} 应用程序上指定的 {0} 上下文根值无效。 说明上下文根 属性 对企业应用程序无效。该值将不会用于企业应用程序中包含的任何 Web 模块。

更多详情请见https://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/twlp_dep_war.html?cp=SSAW57_8.5.5

这在 8.5.5.9 中是不可能的,但在当前的测试版(2017 年 2 月)中是可能的。从那个级别开始,您可以在 server.xml 中指定通常会出现在 ibm 中的扩展配置-web-ext.xml 文件在 war 文件中。配置看起来像:

<application location="myEar.ear">
 <web-ext moduleName="myWar1.war" context-root="sample1"/>
 <web-ext moduleName="myWar2.war" context-root="sample2"/>
</application>