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環境一樣工作。

相關問題