2014-12-07 146 views
0

我想這樣很難部署我的網站,而不使用我的IDE(Intellij)。我有一些重大問題。只要我修理了一件事,我就碰到了另一個路障,我需要幾天的時間纔會感到沮喪,放棄並回到它身邊,以便更加接近。所以我希望有人能幫助我!Apache的tomcat/maven的部署

首先,我使用Intellij,Tomcat 8,JSF和Maven。我首先對幾件事情感到困惑,首先是tomcat甚至知道如何部署。其次什麼是經理

<plugin> 
      <groupId>org.apache.tomcat.maven</groupId> 
      <artifactId>tomcat7-maven-plugin</artifactId> 
      <version>2.2</version> 
      <configuration> 
       <path>/${project.build.finalName}</path> 
       <update>true</update> 
       <url>http://localhost:8080/manager/text</url> 
       <username>tomcat</username> 
       <password>tomcatuser</password> 
      </configuration> 
     </plugin> 

而第三個怎麼樣的文件結構設想。因爲如果你使用的是Apache Tomcat,那麼所有的文件也都放在項目結構中?或者,你可以將tomcat分開,只需將你的tomcat鏈接到包含你的應用程序的正確目錄中?

<role rolename="tomcat" /> 
    <role rolename="manager-gui" /> 
    <role rolename="manager-script" /> 
    <role rolename="admin-gui" /> 
    <user username="tomcat" password="tomcatuser" 
      roles="tomcat,manager-gui,admin-gui,manager-script" /> 

至於現在我把所有的都在阿帕奇的文件夾到我的我的項目的主目錄,因爲我有問題,已經厭倦了試圖修復它。現在我正在嘗試部署(說實話,我不確定部署和運行之間的區別是什麼)我猜可能部署重新創建戰爭文件?並運行只運行當前的戰爭文件?反正不是重點。運行似乎工作正常,唯一的問題是我不能停止服務與關機。它也有我不想要的上下文路徑。如果可能的話,我不需要上下文路徑。

接下來的問題是,當我運行tomcat7:部署(在IDE中)它給了我這個錯誤。

[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy (default-cli) on project JavaServerFaces: Tomcat return http status error: 404, Reason Phrase: Not Found: -> [Help 1] 

我認爲它是因爲沒有/經理/文....但我不知道一個經理就是在這一點上,所以我有種丟失。希望有人能夠幫助我更好地理解如何使用apache tomcat來構建/完成所有事情。

enter image description here

回答

2

根據Servlet API每個Web應用程序必須被打包在自己的「戰爭」的文件。這是Tomcat的一部分。這適用於任何標準Java Web應用程序服務器。

在Tomcat中有部署應用程序的several ways。使用Tomcat管理器進行部署是one of them。 Tomcat管理器只是另一個具有special permissions的Web應用程序,就像部署應用程序所需的那樣。經理申請通常分配給Tomcat binaries

Tomcat是一個服務器。它生活在自己的過程中,默認通過端口8080與世界通信。通過安裝管理器,其他進程可以通過HTTP請求部署應用程序。瀏覽器或任何其他用戶代理。

您的IDE啓動使用官方tomcat7-maven-plugin執行此類請求的Maven進程。反過來,該插件需要已經部署的管理器應用程序,因爲它將執行an HTTP PUT request與您的戰爭文件作爲正文部署您的應用程序。注意你可以在你的IDE之外運行Maven,你只需要pom.xml文件。

用戶和角色文件只是Tomcat中可能的幾種認證配置之一所需的(全局)文件:MemoryRealm。請注意,管理員應用程序在那裏需要special roles

我認爲HTTP 404錯誤是由於您沒有在插件指向的目標Tomcat服務器上的管理器應用程序。只需按照Manager App HOWTO的步驟進行屬性配置即可。

運行和部署goals of the tomcat7-maven-plugin之間的區別在於運行將在同一個maven進程中嵌入服務器,而部署目標旨在將war文件部署到另一個可能是遠程的進程中。我不知道關機目標不工作,也許你會找到一個答案in a smiliar question

也跟着similar questions,以便將應用程序部署爲「ROOT」應用程序。

希望有所幫助。

+0

謝謝!這回答了很多問題:P。我會經歷一些這些鏈接,並按照他們正在做的事情的方式,看看我是否能得到這個工作!我至少現在有了一個理解和一些資源,這些資源指向了一個很好的方向!非常感謝! – Justin 2014-12-07 06:51:33