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

如何配置maven-war-plugin仅将classes.jar而非war包存入本地maven仓库

Maven War项目仅安装classes.jar到本地仓库的配置方案

配置逻辑

Maven默认会同时安装项目主打包产物(war包)和附加产物(war插件生成的classes.jar)到本地仓库,全局设置maven-install-plugin的skip参数会跳过所有产物安装,因此仅需单独排除war主产物的安装即可。

适配新版maven-install-plugin(3.0.0及以上)

步骤1:保留maven-war-plugin的classes.jar生成配置

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>3.3.2</version>
  <configuration>
    <attachClasses>true</attachClasses>
    <classesClassifier>classes</classesClassifier>
  </configuration>
</plugin>

步骤2:配置install插件跳过war主产物安装

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-install-plugin</artifactId>
  <version>3.1.1</version>
  <configuration>
    <!-- 仅匹配war类型主产物跳过安装,附加classes.jar不受影响 -->
    <skipIfPackagingMatches>war</skipIfPackagingMatches>
  </configuration>
</plugin>

兼容旧版maven-install-plugin(3.0.0以下)

旧版本无skipIfPackagingMatches参数,可禁用默认安装逻辑,手动指定仅安装pom和classes.jar:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-install-plugin</artifactId>
  <version>2.5.2</version>
  <executions>
    <execution>
      <id>default-install</id>
      <phase>none</phase>
    </execution>
    <execution>
      <id>custom-install</id>
      <phase>install</phase>
      <goals>
        <goal>install-file</goal>
      </goals>
      <configuration>
        <pomFile>${project.basedir}/pom.xml</pomFile>
        <file>${project.build.directory}/${project.build.finalName}-classes.jar</file>
        <classifier>classes</classifier>
      </configuration>
    </execution>
  </executions>
</plugin>

验证方式

执行mvn clean install后,访问本地.m2仓库对应项目目录,仅会保留pom文件、xxx-classes.jar及相关校验文件,无war包。
注意:以上配置仅跳过war包的仓库安装步骤,本地target目录下仍会正常生成war包,若不需要生成war包可额外在war插件配置中添加<skip>true</skip>参数。

内容的提问来源于stack exchange,提问作者Mathias

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:48:00