2014-01-07 44 views
0

我有一個Java Servlet應用程序的情況。最初創建了一個「開發」版本,然後完成後,我們創建了一個「測試」,然後創建了一個「現場」。所有3個(開發,測試和現場)部署和運行在我的開發PC上。但是當我們傳輸到服務器時,開發和測試部署並開始正常,但Live將不會啓動。我在兩臺機器上都使用相同版本的Java JRE和Tomcat(Windows XP開發PC和服務器上的Windows Server)。WAR不會部署在不同的機器上

有人可以告訴我這裏可能有什麼問題嗎?

在此先感謝

這裏是Tomcat的控制檯輸出

07-Jan-2014 10:50:17 org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting propert 
y 'source' to 'org.eclipse.jst.jee.server:Orion' did not find a matching propert 
y. 
07-Jan-2014 10:50:17 org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
07-Jan-2014 10:50:17 org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-nio-8443"] 
07-Jan-2014 10:50:17 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 
INFO: Using a shared selector for servlet write/read 
07-Jan-2014 10:50:17 org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
07-Jan-2014 10:50:17 org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 911 ms 
07-Jan-2014 10:50:17 org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
07-Jan-2014 10:50:17 org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.29 
07-Jan-2014 10:50:22 com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init> 
INFO: WSSERVLET14: JAX-WS servlet initializing 
07-Jan-2014 10:50:22 com.sun.xml.ws.transport.http.servlet.WSServletContextListener  
contextInitialized 
INFO: WSSERVLET12: JAX-WS context listener initializing 
07-Jan-2014 10:50:22 com.sun.xml.ws.transport.http.servlet.WSServletContextListener 
contextInitialized 
INFO: WSSERVLET12: JAX-WS context listener initializing 
07-Jan-2014 10:50:22 org.apache.catalina.startup.HostConfig deployWAR 
INFO: Deploying web application archive C:\Apache\Tomcat 7.0\webapps\PPSLDev.war 
07-Jan-2014 10:50:27 com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init> 
INFO: WSSERVLET14: JAX-WS servlet initializing 
07-Jan-2014 10:50:27 com.sun.xml.ws.transport.http.servlet.WSServletContextListener 
contextInitialized 
INFO: WSSERVLET12: JAX-WS context listener initializing 
07-Jan-2014 10:50:27 com.sun.xml.ws.transport.http.servlet.WSServletContextListener 
contextInitialized 
INFO: WSSERVLET12: JAX-WS context listener initializing 
07-Jan-2014 10:50:27 org.apache.catalina.startup.HostConfig deployWAR 
INFO: Deploying web application archive C:\Apache\Tomcat 7.0\webapps\PPSLTest.war 
07-Jan-2014 10:50:31 com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init> 
INFO: WSSERVLET14: JAX-WS servlet initializing 
07-Jan-2014 10:50:31 com.sun.xml.ws.transport.http.servlet.WSServletContextListener 
contextInitialized 
INFO: WSSERVLET12: JAX-WS context listener initializing 
07-Jan-2014 10:50:31 com.sun.xml.ws.transport.http.servlet.WSServletContextListener 
contextInitialized 
INFO: WSSERVLET12: JAX-WS context listener initializing 
07-Jan-2014 10:50:31 org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory C:\Apache\Tomcat 7.0\webapps\docs 
07-Jan-2014 10:50:32 org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory C:\Apache\Tomcat 7.0\webapps\examples 
07-Jan-2014 10:50:32 org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory C:\Apache\Tomcat 7.0\webapps\host-manager 
07-Jan-2014 10:50:32 org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory C:\Apache\Tomcat 7.0\webapps\manager 
07-Jan-2014 10:50:33 org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory C:\Apache\Tomcat 7.0\webapps\ROOT 
07-Jan-2014 10:50:33 org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
07-Jan-2014 10:50:33 org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-nio-8443"] 
07-Jan-2014 10:50:33 org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
07-Jan-2014 10:50:33 org.apache.catalina.startup.Catalina start 
INFO: Server startup in 16115 ms 

問候

AJF

+0

後控制檯輸出等。此外,此應用程序試圖寫入自己的位置? – chrylis

+0

chrylis,我添加了控制檯輸出。戰爭文件是PPSLDev.war,PPSLTest.war和PPSL.war – AJF

+0

我看不到任何錯誤 – Sergi

回答

0

在server.xml,你可以控制哪些應用可以部署以及如何。有許多選項可以從上下文中控制(link here)。

讓我給你可以在tomcat的現在

<Context docBase="AppName" path="/AnyAppContext" reloadable="false" crossContext="true" source="org.eclipse.jst.j2ee.server:AppName"> 
</Context> 

當Tomcat加載時,它會在部署文件夾中的戰爭名稱AppName.war搜索server.xml中的示例條目(的webapps/wtpwebapps)並進行部署在上下文路徑/AnyAppContext上。因此,現在您的應用程序AppName.war將在路徑http://someHost:port/AnyAppContext處可用。

現在針對您面臨的問題,確保所有3個應用程序都存在相關條目。檢查路徑和應用程序的名稱

+0

再次感謝賽義夫。這有幫助,我有WAR運行,但不知道我所做的是否正確。在我答覆您的答案之前,讓我知道您的想法。我查看了服務器機器上的server.xml文件,它有一個像上面那樣的Context XML元素,它表示reloadable屬性爲true,並且沒有crossContext的屬性。我註釋了整個Context xml元素,並開始了WAR。這是可接受的做法嗎?有沒有一種首選的方法來做到這一點? – AJF

+0

通過聲明上下文或僅使用默認的tomcat行爲來運行應用程序沒有任何問題。雖然有兩個使用的原因,但我可以列出通過上下文運行的一個基本目的是,您可以強制您的tomcat實例只運行您在上下文中聲明的應用程序,並且沒有其他戰爭(有意或無意放置)在webapps將被加載。你可以說這是一種安全功能,可以確保你的tomcat實例沒有運行你想運行的應用程序。 –

+0

謝謝賽義夫。這是很好的建議。我正在慢慢獲得與Java和Tomcat相當的知識水平(之前的Unix和Oracle背景)。我會對上下文進行修補,試圖讓他們都以這種方式工作。 – AJF

相關問題