簡體   English   中英

將項目從 Eclipse 部署到 Tomcat

[英]deploy project to Tomcat from Eclipse

我正在嘗試將多模塊 Maven 項目從 Eclipse 部署到本地 Tomcat。 該項目具有以下結構:

root [packaging: pom]
|
|--- domain [packaging: jar]
|
|--- manager [packaging: jar]
|
|--- web [packaging: war]

我將所有項目導入 Eclipse,然后將“動態 Web 模塊”方面添加到 web 項目

在此處輸入圖像描述

在同一對話框的 Runtimes 選項卡中,我將項目配置為使用(本地)Apache Tomcat v6.0 運行時。

然后我右鍵單擊該項目並從菜單中選擇“運行方式 -> 在服務器上運行”。 在下面的對話框中,我(再次?)選擇“Tomcat v6.0 Server”

在此處輸入圖像描述

在以下對話框中,我將 web 項目添加到已配置項目列表中

在此處輸入圖像描述

當我單擊“完成”時,從控制台消息中顯示服務器已啟動,但是當我在瀏覽器中從 go 到http://localhost:8080/web/時,我得到一個 404。我也嘗試了 Z80792846786 :8080/這也返回 404,我做錯了什么?

成功!!!

當我添加動態模塊 Eclipse 時錯誤地創建了一個 WebContent 目錄。 我刪除了這個目錄並對.settings目錄中名為org.eclipse.wst.common.component的文件進行了以下更改

<wb-resource deploy-path="/" source-path="/src/main/webapp"/>
<!--
<wb-resource deploy-path="/" source-path="/WebContent"/>
-->

我也試過http://localhost:8080/也返回 404。

我會推斷 Tomcat 沒有在端口 8080 上偵聽,因為行為是將$CATALINA_HOME/webapps/ROOT/index.html的內容顯示為歡迎頁面。 您可能想首先驗證 Tomcat 是否配置為偵聽端口 8080。 $CATALINA_HOME/conf/server.xml文件應該有類似於下面列出的條目:

<Server port="8005" shutdown="SHUTDOWN">
    ...
    <Service name="Catalina">
        ...
        <Connector port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" />

如果你做對了,但你看到的是 404 響應,那么顯然配置有問題。 $CATALINA_HOME/webapps/ROOT不存在,或者您可以通過查看$CATALINA_HOME/logs目錄中的日志確定的其他內容。

當我單擊“完成”時,從控制台消息中顯示服務器已啟動,但是當我在瀏覽器中從 go 到http://localhost:8080/web/時,我得到一個 404

假設 Tomcat 已成功配置,如果您沒有web.xml中列出的歡迎文件,則可能會出現這種描述的行為。 welcome-file-list的結構類似於下面列出的結構:

<web-app>
...
    <welcome-file-list>
        <welcome-file>somePage.html</welcome-file>
    </welcome-file-list>
...
</web-app>

很明顯,您需要在歡迎頁面中有有效的 HTML。 您還可以使用 JSP 頁面作為歡迎頁面。

Maven 與 Eclipse 集成

我把它放在一個單獨的部分,因為我不確定你的 Eclipse 項目是否首先設置正確。 通常人們會使用m2eclipsemaven-eclipse-plugin在 Eclipse 中配置 WTP 項目。

如果您已將 Maven 特性(使用 m2eclipse 插件)添加到項目中,那么您必須知道 m2eclipse 傾向於還原任何可能與其生成的更改發生沖突的更改。 例如,m2eclipse 會將版本 Java facet 設置為為 pom.xml 中的maven-compiler-plugin指定的source版本。

此外,在服務器上部署應用程序之前,運行package階段可能很重要。 在某些情況下,我被這種行為絆倒了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM