Tomcat6忽略META-INF/context.xml

Tomcat6忽略META-INF/context.xml,tomcat,jndi,context.xml,Tomcat,Jndi,Context.xml,Tomcat6一直忽略我的META-INF/context.xml。当我试图查找“tt”(请参阅“详细信息”)时,我不断得到“名称tt在此上下文中不受约束” 当我将META-INF/context.xml的内容放在server.xml的“context”标记中时,它就起作用了。我还检查了$Tomcat base/Catalina/localhost是否为空,因此我的META-INF/context.xml没有被覆盖 详情: Tomcat版本:6.0.10 以下是我的Webroot结构: Web

Tomcat6一直忽略我的META-INF/context.xml。当我试图查找“tt”(请参阅“详细信息”)时,我不断得到“名称tt在此上下文中不受约束”

当我将META-INF/context.xml的内容放在server.xml的“context”标记中时,它就起作用了。我还检查了$Tomcat base/Catalina/localhost是否为空,因此我的META-INF/context.xml没有被覆盖


详情:

Tomcat版本:6.0.10

以下是我的Webroot结构:

Webroot
|-META-INF
||-context.xml
|
|-WEB-INF
|-web.xml

context.xml的内容:

<Context>
    <Environment name="tt" value="this is a string" type="java.lang.String"></Environment>
</Context>
我得到的错误是:

javax.naming.NameNotFoundException: Name tt is not bound in this context

如果我从server.xml中删除
,并仅在
META-INF/context.xml中定义它,我就可以让您的代码正常工作

如果在两个位置都定义了
,则它不起作用

其次,将您的类型更改为String,而不是Integer

<Environment name="tt" value="this is a string" type="java.lang.String"></Environment>
</Context>


在一台主机上,不能在两个不同的文件中定义两个上下文,这是问题的根源。有关更多信息,请阅读文章。

我想知道我的问题是否是链接中描述的bug。谢谢您的帮助。那个整数是一个输入错误,因为我最初使用的是整数。问题是,如果我从server.xml中删除,tomcat将无法知道我的Webroot文件夹的位置,除非我将Webroot放在tomcat的webapps文件夹中。这就是你的意思吗?理想情况下,Tomcat将自动破译docBase中的路径,因此对于路径名“/test”。将项目保存在
E:\javaProjects\TestProject\Webroot
中,而不是保存在
TOMCAT\u HOME\webapps\test
中,因此您根本不需要server.xml中的条目。
javax.naming.NameNotFoundException: Name tt is not bound in this context
<Environment name="tt" value="this is a string" type="java.lang.String"></Environment>
</Context>