要在 jboss 5.1 中自定义 web 应用程序的根上下文,有一个文档化的方式来描述如何在 web 应用程序的 WEB-INF 目录下添加 jboss-web.xml 文件
<jboss-web>
<context-root>/my/custom/context/root</context-root>
</jboss-web>
这很好用,但需要修改war文件。
另一种选择是重命名我的war文件,但我宁愿保留包含版本号的原始名称,这不能满足在上下文根中具有文件夹层次结构的需要(因为不支持#符号文件夹中deploy
)。
我想实现相同但不修改war文件。我知道tomcat可以通过使用上下文配置来做到这一点,据我所知,jboss 5.1确实包含了tomcat的味道,所以我想知道我们是否可以达到同样的效果。
我在 jboss.org wiki 上找到了这个页面,它描述了各种版本的 jboss 和 tomcat 的上下文配置,但这对我不起作用:试图添加
<Context docBase="/path/to/my.war" path="/my/custom/context/root"/>
在启动时deploy/jboss.sar/server.xml
生成错误:
org.jboss.xb.binding.JBossXBException: Failed to parse source: Context not found as a child of Host in unordered_sequence: Listener* Valve* Alias* Realm? attributes?
这告诉我Context
不支持标签Host
。
将Context
元素添加到一个名为的文件deploy/jboss.sar/jboss.web/localhost/my#custom#context#root.xml
中不会做任何事情,并且被 jboss 忽略(尽管我可以看到该文件正在被 java 进程打开)。
也许这对于 jboss 5.1 是不可能的?欢迎任何想法。
注意:看起来这已经从源代码中注释掉了。这可以解释为什么不支持这一点,但还有其他选择吗?