2013-08-29 59 views
1

爲了使eclipse的run-as-run-on-server命令正常工作,eclipse動態web項目中究竟需要什麼?在run-as ... run-on-server上運行的eclipse web項目需要什麼?

我在eclipse動態web項目中有一個完全測試過的應用程序,我一直在使用tomcat 7管理器應用程序運行它,它允許您指向應用程序的xml配置文件,以便在開發之前發佈應用程序創建一個戰爭文件。該應用程序xml配置文件只是指向web.xml中的位置,如下所示:(我也有一個WAR文件,但就是這個問題的範圍之外)

<Context path="/myapp" docBase="C:\mypath\myapp\web"></Context> 

對於各種原因,我希望能夠使用eclipse的run-as ... run-on-server命令來測試這個應用程序,但是這樣做會導致每次嘗試網站中的任何url時發生404錯誤。

從堆棧跟蹤以下主要誤差是 dismissed by other postings

WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:myapp' did not find a matching property. 

踢,這裏是在Eclipse控制檯整個堆棧跟蹤:

Aug 29, 2013 12:28:54 PM org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\glassfish\jdk\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/eclipse_kepler/jre/bin/../jre/bin/server;C:/eclipse_kepler/jre/bin/../jre/bin;C:/eclipse_kepler/jre/bin/../jre/lib/amd64;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\MATLAB\R2010a Student\bin;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Java\jdk1.7.0_17\bin;C:\eclipse_kepler;;. 
Aug 29, 2013 12:28:54 PM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:myapp' did not find a matching property. 
Aug 29, 2013 12:28:55 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Aug 29, 2013 12:28:55 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
Aug 29, 2013 12:28:55 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 801 ms 
Aug 29, 2013 12:28:55 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Aug 29, 2013 12:28:55 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.42 
Aug 29, 2013 12:28:55 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Aug 29, 2013 12:28:55 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
Aug 29, 2013 12:28:55 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 462 ms 

沒有catalina.out的文件因爲它試圖通過eclipse運行tomcat。另外,代碼在通過tomcat 7管理器運行時工作,所以我不確定在這裏添加代碼是否相關。我想知道是否缺少一些關鍵資產,或者需要配置哪些設置。

PERHAPS ECLIPSE沒有找到WEB.XML? web.xml文件位於上面所示的上下文路徑中。 Eclipse可能希望它位於WebContent/WEB-INF/web.xml中,但我認爲我在首選項中更改了該設置以匹配上面的上下文路徑,並且使用WebContent文件夾會弄亂我的構建文件,所以我想避免那。

回答

2

在項目屬性下的「部署程序集」下,確保帶有web.xml的文件夾位於列表中。我有一個maven項目,它在webapps文件夾中有web.xml文件,但默認的Web部署配置發佈了「/ WebContent」,並且沒有出現我的「/ src/main/webapp」文件夾,所以Tomcat沒有看到它在服務器上運行後。

如果您沒有看到部署組裝,請在項目屬性,項目構面下,確保選擇「Dynamic Web Module」,然後應用。然後回到項目屬性中,您應該看到「部署彙編」的新選項。另外,如果你確實有一個Maven託管項目,你需要將你的Maven依賴關係添加到你的列表以及部署程序集(add - > java build path entries - > maven dependencies)中。

+0

非常感謝您對此作出回答。我知道自問這個問題以來已經有一段時間了,但在網絡上沒有關於此的很多信息,我認爲人們很長一段時間都會通過谷歌搜索來到這個頁面。 +1試圖幫助。當我回到eclipse Web項目時,我會測試這個。 – CodeMed

相關問題