2014-02-07 64 views
0

我要關機的目標(的Apache Tomcat Maven插件)從行家的tomcat7:tomcat7:關機Maven的

mvn tomcat7:shutdown 

有人能提供它的一個例子嗎?現在,在完成目標後我只能「建立成功」,但服務器仍在繼續工作。

回答

2

這將是因爲你沒有嵌入式 Tomcat正在運行。

一個例子是將tomcat7:run綁定到您的集成前測試階段,這將啓動您的Maven構建中嵌入的Tomcat服務器,然後您可以將tomcat7:shutdown綁定到集成後測試階段在運行測試之後。

如果您想通過在Maven中構建的戰爭啓動Tomcat,那麼您可以創建自己的運行配置文件。

喜歡的東西下面的工作:

<profiles> 
     <profile> 
      <id>run</id> 
      <build> 
       <plugins> 
        <plugin> 
         <groupId>org.apache.tomcat.maven</groupId> 
         <artifactId>tomcat7-maven-plugin</artifactId> 
         <executions> 
          <execution> 
           <id>run-wars</id> 
           <goals> 
            <goal>run-war-only</goal> 
           </goals> 
           <phase>integration-test</phase> 
          </execution> 
         </executions> 
         <configuration> 
          <warDirectory>theWar</warDirectory> 
          <path>/relativepath</path> 
          <systemProperties> 
          <webapps> 
           <webapp> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>myArtifact</artifactId> 
            <version>${project.version}</version> 
            <type>war</type> 
            <asWebapp>true</asWebapp> 
            <contextPath>myContext</contextPath> 
           </webapp> 
          </webapps> 
         </configuration> 
        </plugin> 
       </plugins> 
      </build> 
     </profile> 
</profiles> 

您可以mvn package -Prun運行這個,然後你可以簡單地用Ctrl+C關機。

Maven不打算做的是關閉你機器上所有正在運行的Tomcat實例,這看起來像是你試圖單獨運行該命令所暗示的。在那種情況下找到你的tomcat並運行shutdown.sh