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

如何配置pom.xml让Maven同时部署jar和json构件到远程仓库

Maven部署时自动同步上传jar和json文件的pom配置方法

直接在项目pom.xml中完成以下配置,执行标准mvn deploy命令即可自动将主jar包、target目录下生成的json配置文件一同上传到远程Maven仓库,无需额外传入命令行参数。

具体配置步骤

  • 保留原有distributionManagement节点的远程仓库配置、以及mavensettings.xml中的server账号配置,不需要修改这部分原有内容。
  • 在<build><plugins>节点下添加maven-deploy-plugin的配置,使用3.0.0-M2及以上版本(低版本不支持多文件部署配置),禁用插件默认的单文件部署逻辑,绑定自定义的多文件部署逻辑到deploy阶段:
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-deploy-plugin</artifactId>
      <version>3.0.0-M2</version>
      <executions>
        <!-- 禁用默认的单jar部署逻辑,避免重复上传构件 -->
        <execution>
          <id>default-deploy</id>
          <phase>none</phase>
        </execution>
        <!-- 自定义多文件部署逻辑,绑定到deploy阶段 -->
        <execution>
          <id>deploy-multi-files</id>
          <phase>deploy</phase>
          <goals>
            <goal>deploy-file</goal>
          </goals>
          <configuration>
            <!-- 直接复用distributionManagement中配置的仓库地址与id,无需硬编码 -->
            <url>${project.distributionManagement.repository.url}</url>
            <repositoryId>${project.distributionManagement.repository.id}</repositoryId>
            <!-- 主构件jar包路径,通过Maven内置变量自动适配项目版本、构建路径 -->
            <file>${project.build.directory}/${project.build.finalName}.jar</file>
            <pomFile>${project.basedir}/pom.xml</pomFile>
            <!-- 待部署的所有文件列表,按顺序填写主jar、json配置文件路径 -->
            <files>
              <file>${project.build.directory}/${project.build.finalName}.jar</file>
              <file>${project.build.directory}/${project.build.finalName}.json</file>
            </files>
            <!-- 与文件列表顺序一一对应的classifier,主jar无额外classifier留空即可,json可按需自定义标识 -->
            <classifiers>
              <classifier/>
              <classifier>config</classifier>
            </classifiers>
            <!-- 与文件列表顺序一一对应的文件类型 -->
            <types>
              <type>jar</type>
              <type>json</type>
            </types>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

<!-- 原有远程仓库配置保持不变即可 -->
<distributionManagement>
  <repository>
    <id>your-repo-id</id>
    <url>your-remote-maven-repo-url</url>
  </repository>
</distributionManagement>

注意事项

  • files、classifiers、types三个列表的长度必须保持一致,元素顺序一一对应。
  • json文件的classifier可以根据实际业务需求自定义,比如配置为site、config等,只要符合项目的构件命名规范即可。
  • 配置完成后不需要加任何额外命令参数,直接执行mvn deploy就会自动完成两类文件的上传。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 08:06:19