我想按目标(Apache Tomcat Maven插件)从maven关闭tomcat7:
mvn tomcat7:shutdown
有人可以提供一个例子吗?现在,在完成目标后我只能“建立成功”,但服务器继续工作。
答案 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 。