2010-11-24 185 views
7

我在Linux下使用Tomcat 6.0和Eclipse 3.0,並嘗試在Tomcat中部署WAR。問題在於服務器由Eclipse管理,並且我部署了一些Eclipse項目。我嘗試修改server.xml文件,然後通過Eclipse啓動Tomcat,但它不起作用:在Tomcat/Eclipse中部署WAR

無法在localhost-config上的/ Servers/Tomcat v6.0服務器上加載Tomcat服務器配置。配置可能已損壞或不完整。

我試圖解壓webapps目錄中的war,但webapp仍然無法訪問。

部署戰爭的最佳實踐是什麼?

回答

5

Tomcat在開發和生產模式下表現不同。在Eclipse中開發Web應用程序時,沒有理由在開發期間將應用程序的WAR文件部署爲WAR。

只需轉到「服務器」視圖並添加一個新服務器(您應該已經完成​​了此操作,否則您無法創建動態Web項目)。在服務器視圖中,您應該看到您創建的服務器(本地主機上的Tomcat或類似的東西),只需右鍵單擊它並轉到添加和刪除部分。在這裏,您可以添加和刪除您在Eclipse中創建的Dynamic Web項目。一旦你添加了你的項目,你所要做的就是點擊服務器視圖中的綠色開始按鈕,你的應用程序應該在localhost:8080/mycontext

完成構建應用程序後,只需右鍵單擊項目並轉到菜單中的「導出」部分即可。您應該能夠導出WAR文件。獲得WAR文件後,您可以上傳並將其部署到未綁定到以開發模式運行的Eclipse的Tomcat實例上。

+5

確定。所以我無法在開發模式下的Tomcat上部署WAR。太遺憾了! – 2010-11-25 08:52:19

+0

@lgu:也許你可以解釋你想這麼做的原因。 – Luke 2010-11-25 08:59:10

7

是的,從某種意義上說,您可以在開發模式下部署一場戰爭。

我有同樣的問題。

我有一個Eclipse webapp項目,Eclipse部署到由Eclipse運行的Tomcat實例,因此我可以熱編輯該項目。

該Web項目需要使用另一個必須在Tomcat的同一實例內運行的Web應用程序發佈的資源。另一個webapp是由其他人完成的項目,因此它已經處於戰爭狀態。

我需要File->將戰爭導入爲Eclipse項目,並讓Eclipse將其部署到Eclipse的同一個實例,以便在運行我的webapp的同一個Tomcat實例中運行它。

問題是,有些戰爭以這種方式工作,但有些戰爭卻沒有,儘管它們在獨立的Tomcat(由startup.sh啓動)中工作得很好。我無法弄清楚爲什麼。

0

這是舊的,但它是谷歌搜索的第一個答案之一。

可以導入W​​AR文件:

Web歸檔文件(WAR)是一種便攜式的,打包的Web應用程序 ,你可以導入到你的工作空間。

在導入WAR文件之前,您應該先確定WAR文件是否包含所需的Java™源文件 。在將WAR文件導入到現有Web項目中時,導入的 Web部署描述符文件不會被導入的WAR文件中包含的 包含的文件所改變或覆蓋,這取決於您對提供的提示 的響應。在任一情況下,這個動作確實是而不是代表 合併兩組部署描述符。

要導入 Web項目資源在WAR文件到您的工作空間,請完成以下步驟 :

  1. 選擇文件>導入 。
  2. 在「導入」對話框中,選擇「WAR文件」和「 」,然後單擊「下一步」。
  3. 使用瀏覽按鈕找到要導入的WAR文件。
  4. 該向導假定您想要創建一個新的Web項目,其中 名稱與WAR文件名稱相同。如果您接受此選項,則該項目將使用與WAR文件中指定的相同servlet版本創建的 和 中的相同位置。如果要覆蓋這些設置,可以單擊新的和 在Dynamic Web Project嚮導中指定您的新設置。
  5. 單擊完成填充Web 項目。

來源:http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.wst.webtools.doc.user%2Ftopics%2Ftwimpwar.html