0

我终于有了工作我的应用程序在Tomcat上,问题是:JNDI资源不可使用不同的根应用程序时7

Frist problem with JNDI JDBC resource

现在我有一个问题:

我已经在Tomcat中改变默认的根应用:

[%CATALINA_HOME%\ CONF \的server.xml]

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> 
     <Context path="" docBase="MY_APP" reloadable="true" debug="0" cookies="false"></Context> 
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 
    </Host> 

然后,在重新启动tomcat之后,我尝试访问:并且它工作得很好!

后来我发布了MY_APP的新版本。我部署它和我原来的问题又来了: Original problem

我检查了所有的配置文件,一切似乎是确定的,所以我试图访问:http://localhost/MY_APP和它的工作!但通过http://localhost/访问的问题仍然存在...

我已经从“webapps”目录中删除了所有其他应用程序。现在webapps只包含MY_APP。 通过

访问
  • http://localhost/MY_APP - >它的工作!
  • http://localhost/ - > JNDI JDBC资源异常

你能告诉我什么,我做错了吗?我无法找到任何解释...

操作系统:Windows 2008 R2 SP1斯坦达特JVM :JDK 1.7u10 TOMCAT:Apache的Tomcat的7.0.34

谢谢!

回答

0

由于在server.xml中包含<Context>元素,您可能正在进行双重部署。

首先,停止这样做:从server.xml中删除<Context>

下,重新命名您的WAR文件ROOT.war(注意,这是区分大小写的,即使是在文件系统中,通常忽略大小写像NTFS),放入%CATALINA_BASE%/webapps(这可能是它在哪里,反正)。

您的网络应用程序应包含一个META-INF/context.xml文件,这是您的<Context>元素应该去的位置,包括子元素的任何<Resource>元素。这就是你设置JNDI参考的地方。

正确部署后,您的web应用程序应该像JNDI正常工作时的默认/ ROOT环境一样工作。

相关问题