我正在寻找一种等待我的tomcat正常停止的方法。
我的所作所为:
我正在使用指向jacoco.exec文件的jacoco代理启动我的tomcat。覆盖数据在tomcat shutdown时写入exec文件。
所以我想等到tomcat在我的maven项目中正确关闭。
当我启动tomcat时,我使用maven等待侦听直到服务器响应URL。
<profile>
<id>start-tomcat</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>start-tomcat</id>
<phase>initialize</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${tomcat.home}/bin/catalina.sh</executable>
<arguments>
<argument>jpda</argument>
<argument>start</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>wait-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>tomcat-server</id>
<phase>initialize</phase>
<goals>
<goal>wait</goal>
</goals>
<configuration>
<protocol>http</protocol>
<host>${mc.host}</host>
<port>${tomcat.port}</port>
<file>/application-url.jsf</file>
<maxcount>20</maxcount>
<timeout>10000</timeout>
<read>true</read>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
这适用于服务器启动。
但是我只能停下来
<profile>
<id>stop-tomcat</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>stop-tocat</id>
<phase>initialize</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${tomcat.home}/bin/catalina.sh</executable>
<arguments>
<argument>stop</argument>
<argument>-force</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
在关闭后台进程的同时,该命令和shell退出后会出现问题。
但是当jacoco.exec还没有最终确定时
有人可以帮忙。