我正在尝试使用货物maven插件在远程服务器上运行战争,但我得到: [错误]无法在项目portnet上执行目标org.codehaus.cargo:cargo-maven2-plugin:1.6.4:start(start-container):只能启动本地容器 - > [帮助1]
我的配置如下:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.6.4</version>
<configuration>
<wait>false</wait>
<container>
<containerId>tomcat8x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<files>
<copy>
<file>C:\apache-tomcat-8.5.20\conf\tomcat-users.xml</file>
<tofile>conf/tomcat-users.xml</tofile>
<configfile>true</configfile>
<overwrite>true</overwrite>
</copy>
</files>
<properties>
<cargo.hostname>remoteserver</cargo.hostname>
<cargo.servlet.port>8180</cargo.servlet.port>
<cargo.remote.username>user</cargo.remote.username>
<cargo.remote.password>passw</cargo.remote.password> <cargo.tomcat.manager.url>http://localhost:8180/manager</cargo.tomcat.manager.url>
</properties>
</configuration>
<deployer>
<type>remote</type>
</deployer>
<deployables>
<deployable>
<type>war</type>
<properties>
<context>/portnet</context>
</properties>
</deployable>
</deployables>
</configuration>
<executions>
<!-- start server before integration tests -->
<execution>
<id>start-container</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<!-- stop server after integration tests -->
<execution>
<id>stop-container</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
答案 0 :(得分:0)
如果您想使用远程服务器,那么您可以使用这两个货物目标:
deploy
- 此目标用于将已定义的可部署部署到远程服务器。undeploy
- 此目标用于从远程服务器取消部署已定义的可部署资源。目标start
和stop
只能用于本地容器 - 其生命周期由Cargo Maven插件直接控制的容器。
如果您将配置中的<goal>start</goal>
替换为<goal>deploy</goal>
,将<goal>stop</goal>
替换为<goal>undeploy</goal>
,那么您应该摆脱此错误。