我终于在tomcat上开了我的应用程序,问题是:
Frist problem with JNDI JDBC resource
现在我有另一个问题:
我在Tomcat中更改了默认的ROOT应用程序:
[%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 "%r" %s %b" />
</Host>
然后,在重新启动tomcat后,我尝试访问:它工作得很好!
后来我发布了新版本的MY_APP。我部署了它,我得到了原来的问题: Original problem
我检查了所有配置文件,一切似乎都没问题,所以我试图访问:http://localhost/MY_APP
并且它已经工作了!但是通过http://localhost/
访问的问题仍然存在......
我已从“webapps”目录中删除了所有其他应用。现在webapps只包含MY_APP。 通过
访问http://localhost/MY_APP
- &gt;有用! http://localhost/
- &gt; JNDI JDBC资源异常操作系统:Windows 2008 R2 Standart SP1 JVM:JDK 1.7u10 TOMCAT:apache-tomcat-7.0.34
谢谢!
答案 0 :(得分:0)
由于您在<Context>
中加入了server.xml
元素,您可能会遇到双重部署。
首先,停止这样做:从<Context>
删除server.xml
。
接下来,将WAR文件重命名为ROOT.war
(请注意,这是区分大小写的,即使在通常忽略NTFS等情况的文件系统上)也要将其放入%CATALINA_BASE%/webapps
(这可能是无论如何,这是。
您的网络应用应包含META-INF/context.xml
文件,该文件应该是您的<Context>
元素所在的位置,包括作为子级的所有<Resource>
元素。这就是你将获得JNDI参考设置的地方。
正确部署后,您的webapp应该作为默认/ ROOT上下文,JNDI正常工作。