You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免Cargo插件JAR被打包进Maven生成的WAR文件?

解决Cargo插件JAR被打包进WAR的问题

核心问题出在Cargo相关依赖的配置位置——你应该把插件专属的依赖放在插件内部的配置块里,而不是项目全局的<dependencies>节点下,这样Maven就不会把它们当成应用依赖打包进WAR。

具体操作步骤:

  • 调整pom.xml配置
    把原本放在项目根<dependencies>里的Cargo相关依赖,移到<build><plugins>下对应Cargo插件的<dependencies>块中。另外注意,不存在cargo-maven3-plugin,直接用cargo-maven2-plugin即可,它完全兼容Maven 3.x版本。

    示例配置片段:

    <build>
      <plugins>
        <plugin>
          <groupId>org.codehaus.cargo</groupId>
          <artifactId>cargo-maven2-plugin</artifactId>
          <version>1.10.0</version> <!-- 按需替换为合适版本 -->
          <configuration>
            <!-- 这里配置Cargo的容器、部署等参数,比如本地Tomcat或远程容器 -->
            <container>
              <containerId>tomcat9x</containerId>
              <type>local</type>
            </container>
            <deployables>
              <deployable>
                <groupId>your-group-id</groupId>
                <artifactId>your-war-artifact</artifactId>
                <type>war</type>
              </deployable>
            </deployables>
          </configuration>
          <!-- 插件专属依赖放在这里,不会被打包进WAR -->
          <dependencies>
            <dependency>
              <groupId>org.apache.tomcat</groupId>
              <artifactId>tomcat-catalina</artifactId>
              <version>9.0.70</version>
              <scope>provided</scope>
            </dependency>
          </dependencies>
        </plugin>
      </plugins>
    </build>
    
  • 清理Eclipse缓存并同步配置
    在Eclipse中右键项目 → Maven → Update Project,勾选「Force Update of Snapshots/Releases」,让m2e插件同步最新的Maven配置,避免本地依赖缓存导致的问题。

  • 验证打包结果
    执行命令 mvn clean package,解压生成的WAR包,检查WEB-INF/lib目录,确认Cargo相关的JAR已经不再被包含其中。

内容的提问来源于stack exchange,提问作者Romualdo Rubens de Freitas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 05:52:42