我從this page得知Cargo Maven插件不支持熱遠程部署到GlassFish 3.x嗎?如果我錯了,我怎麼配置它來支持這種類型的操作?使用cargo-maven2插件對GlassFish進行熱部署,如何配置?
也許我應該使用其他插件?我想通過HTTP以「熱」模式部署到GlassFish遠程安裝。
我從this page得知Cargo Maven插件不支持熱遠程部署到GlassFish 3.x嗎?如果我錯了,我怎麼配置它來支持這種類型的操作?使用cargo-maven2插件對GlassFish進行熱部署,如何配置?
也許我應該使用其他插件?我想通過HTTP以「熱」模式部署到GlassFish遠程安裝。
這是我迄今所做的:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>package</phase>
<configuration>
<tasks>
<tempfile property="ant.temp-ear" deleteonexit="true" destdir="/tmp" />
<copy
file="${project.build.directory}/${project.build.finalName}.${project.packaging}"
tofile="${ant.temp-ear}" verbose="true" />
<exec executable="${glassfish.home}/glassfish/bin/asadmin"
failonerror="true">
<arg value="--user=${glassfish.username}"/>
<arg value="--passwordfile=${glassfish.passwordfile}"/>
<arg value="--interactive=false"/>
<arg value="--host=${glassfish.host}"/>
<arg value="--port=${glassfish.adminport}"/>
<arg value="deploy"/>
<arg value="--force"/>
<arg value="--name=${project.artifactId}"/>
<arg value="${ant.temp-ear}"/>
</exec>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
作品完美,但asadmin
(以及整個GlassFish中,我假設),必須在其中執行mvn
在同一臺機器上安裝。
是否可以使用Cargo插件執行相同的任務?
這是回答您的問題嗎?
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>glassfish3x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.hostname>dev-server-01</cargo.hostname>
<cargo.servlet.port>8080</cargo.servlet.port>
<cargo.remote.username>user</cargo.remote.username>
<cargo.remote.password>pass</cargo.remote.password>
<cargo.glassfish.domain.name>domain-name</cargo.glassfish.domain.name>
<cargo.glassfish.adminPort>4848</cargo.glassfish.adminPort>
</properties>
</configuration>
<deployables>
<deployable>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<type>war</type>
</deployable>
</deployables>
</configuration>
<dependencies>
<dependency>
<groupId>org.glassfish.main.deployment</groupId>
<artifactId>deployment-client</artifactId>
<version>3.1.2.2</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
你是指「熱」模式到底是什麼意思? – 2010-07-29 08:39:26
GlassFish正在運行,域已啓動,應用程序已經存在。我們只需要重新發送它。 GlassFish將重新部署它。 – yegor256 2010-07-29 10:06:13