2014-12-07 149 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