我頭痛地嘗試安裝maven-as-plugin。如何在重新部署前使用maven-as插件重新啓動JBoss
我的目標是在運行集成測試之前重新部署耳朵。 我希望此過程能夠自動將其集成到CI中。
服務器是遠程運行的JBoss服務器(AS 7)。
由於到JBoss的臭名昭著的PermGen的空間問題,我需要 之前重新啓動服務器部署的耳朵。否則,服務器將每隔5次左右爆炸...
爲此目的,我嘗試設置一個目標「shutdown」,其中reload = true。 問題在於Maven插件在運行下一個目標之前不會等待它完成(清除以前的工件)。
這裏是我的POM的摘錄:
<!-- Jboss Deploy/undeploy application EAR -->
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.5.Final</version>
<configuration>
<!-- JBoss management -->
<hostname>${sanity.tests.jboss.host}</hostname>
<port>${sanity.tests.management.port}</port>
<username>${sanity.tests.jboss.username}</username>
<password>${sanity.tests.management.password}</password>
</configuration>
<executions>
<!-- Reload Jboss to avoid permgen space -->
<execution>
<id>restart</id>
<phase>pre-integration-test</phase>
<goals><goal>shutdown</goal></goals>
<configuration>
<reload>true</reload>
</configuration>
</execution>
<!-- Undeploy previous ear -->
<execution>
<id>undeploy</id>
<phase>pre-integration-test</phase>
<!-- Cleanup : Undeploy -->
<goals>
<goal>undeploy</goal>
</goals>
<configuration>
<matchPattern>rm-app.*.ear</matchPattern>
<ignoreMissingDeployment>true</ignoreMissingDeployment>
</configuration>
</execution>
<!-- Deploy before int test -->
<execution>
<id>deploy</id>
<phase>pre-integration-test</phase>
<goals>
<goal>deploy-artifact</goal>
</goals>
<configuration>
<name>xxxx</name>
<groupId>xxxxx</groupId>
<artifactId>xxxx</artifactId>
<version>${project.version}</version>
</configuration>
</execution>
</executions>
</plugin>
任何幫助將非常感激。
它比我切換到加載我的整個應用程序到一個嵌入式Jetty服務器是如此繁瑣和脆弱。 –