问题描述
将Web项目自动部署到tomcat服务器时,遇到了cargo-maven2-plugin插件版本与tomcat版本不兼容问题,其中pom.xml中相关配置信息如下:
<build>
<finalName>AtguiguWeb</finalName>
<!-- 配置构建过程中需要使用的插件 -->
<plugins>
<plugin>
<!-- cargo是一家专门从“启动Servlet容器”的组织 -->
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.6.6</version>
<!-- 针对插件进行的配置 -->
<configuration>
<!-- 配置当前系统中容器的位置 -->
<container>
<containerId>tomcat8x</containerId>
<home>D:\Program Files\apache-tomcat-8.5.71</home>
</container>
<configuration>
<type>existing</type>
<home>D:\Program Files\apache-tomcat-8.5.71</home>
<!-- 如果Tomcat端口为默认值8080则不必设置该属性 -->
<!-- <properties>
<cargo.servlet.port>8989</cargo.servlet.port>
</properties> -->
</configuration>
</configuration>
<!-- 配置插件在什么情况下执行 -->
<executions>
<execution>
<id>cargo-run</id>
<!-- 生命周期的阶段 -->
<phase>install</phase>
<goals>
<!-- 插件的目标 -->
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
执行maven install 命令之后,报错:
Failed to execute goal org.codehaus.cargo:cargo-maven2-plugin:1.2.3:run (cargo-run) on project WebProject: Execution cargo-run of goal org.codehaus.cargo:cargo-maven2-plugin:1.2.3:run failed: Cannot create configuration. There’s no registered configuration for the parameters (container [id = [tomcat8x], type = [installed]], configuration type [existing]). Actually there are no valid types registered for this configuration. Maybe you’ve made a mistake spelling it? -> [Help 1]
解决
原因是cargo-maven2-plugin插件版本与tomcat版本不兼容,cargo-maven2-plugin插件1.2.3版本与tomcat7x是兼容的,但是我的tomcat版本是8x,将cargo-maven2-plugin插件版本升级为1.6.6之后问题解决。
<!-- cargo是一家专门从“启动Servlet容器”的组织 -->
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.6.6</version>
搞定后
在eclipse中执行可以得到如下结果
Tomcat 8.x started on port [8080]
Press Ctrl-C to stop the container…
Ctrl-C 不能在eclipse中停止,在终端通过 mvn deploy执行即可。
————————————————
版权声明:本文为CSDN博主「Shawn-Yang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yangss123/article/details/87469009