tomcat7:由maven关闭

时间:2014-02-07 12:38:27

标签: maven tomcat7 maven-plugin

我想按目标(Apache Tomcat Maven插件)从maven关闭tomcat7:

mvn tomcat7:shutdown

有人可以提供一个例子吗?现在,在完成目标后我只能“建立成功”,但服务器继续工作。

1 个答案:

答案 0 :(得分:2)

这是因为您没有运行嵌入式 Tomcat。

一个示例是绑定tomcat7:运行到预集成测试阶段,这将启动嵌入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