Tomcat6一直忽略我的META/context.xml。当我试图查找" tt“(请参阅'details')时,我一直得到”名称tt在此上下文中不绑定“。
当我将META/context.xml的内容放在server.xml中的“context”标记中时,它可以工作。我还检查了$Tomcat-base/Catalina/localhost是否为空,因此不会覆盖META/context.xml。
详情:
Tomcat版本: 6.0.10
这是我的Webroot结构:
韦布罗特
._
C/C
|
.=‘3’>.
C
Context.xml的内容:
<Context>
<Environment name="tt" value="this is a string" type="java.lang.String"></Environment>
</Context>Server.xml中此webroot的上下文标记:
<Context path="/test" docBase="E:\javaProjects\TestProject\Webroot" reloadable="true"></Context>我仰望“tt”的方式:
...
Context ic = new InitialContext();
Context ec = (Context) ic.lookup("java:comp/env");
String str = (String) ec.lookup("tt");
System.out.println("str is "+str);我所犯的错误:
javax.naming.NameNotFoundException: Name tt is not bound in this context发布于 2011-09-15 11:34:24
如果我从中删除 <Context>并仅在META-INF/context.xml中定义它,我就会让您的代码工作起来
当在两个地方定义<Context>时,它都不起作用。
其次,将类型更改为String,而不是Integer
<Environment name="tt" value="this is a string" type="java.lang.String"></Environment>
</Context>发布于 2012-05-10 07:41:46
不能在两个不同的文件中定义一个主机中的两个上下文,这是问题的根源。有关更多信息,请阅读这文章。
https://stackoverflow.com/questions/7427293
复制相似问题