说我有一个简单的j2EE耳朵:
foo.ear
- foo.war
我想将同一只耳朵部署两次,所以我重新命名:
bar.ear
- foo.war
META-INF\application.xml
文件如下所示:
<application>
<module>
<web>
<web-uri>foo.war</web-uri>
<context-root>/baz</context-root>
</web>
</module>
</application>
当我部署有一个collison时,两个应用程序都会尝试挂载http://localhost:8080/baz
。有没有办法将ear name添加到context-root前面以获取foo/baz
和bar/baz
?
答案 0 :(得分:3)
如何在生成时通过生成 application.xml 来设置它? Ant可以使用过滤器轻松完成此操作
<context-root>@context.root@</context-root>
在Ant构建脚本中,执行:
<copy todir="${ear.dir}/META-INF" file="${ear}/META-INF/application.xml" overwrite="true">
<filterset>
<filter token="context.root" value="${context.root}" />
</filterset>
</copy>