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

如何消除Maven Assembly Plugin生成的额外Artifact-Version目录?

解决maven-assembly-plugin生成额外Artifact-Version目录的问题

问题原因

使用dir格式生成目录时,maven-assembly-plugin默认会以项目的finalName(格式为Artifact-Version)作为基础目录,即便配置了<includeBaseDirectory>false</includeBaseDirectory>,这个默认行为仍会触发,导致在目标输出目录下多一层不必要的层级。

解决方法

在你的assembly.xml配置中添加<baseDirectory/>元素(设为空值),明确指定基础目录为空,即可避免生成额外的目录层级。

修改后的assembly.xml配置

<assembly ...>
    <id>deps-assembly</id>
    <formats>
        <format>dir</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <!-- 添加空的baseDirectory元素,取消默认基础目录 -->
    <baseDirectory/>
    <dependencySets>
        <dependencySet>
            <includes>
                <include>
                    dep1-groupid:dep1-artifactid
                </include>
            </includes>
            <outputDirectory>dep1</outputDirectory>
            <useTransitiveDependencies>true</useTransitiveDependencies>
            <useTransitiveFiltering>true</useTransitiveFiltering>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
        </dependencySet>
        <dependencySet>
            <includes>
                <include>
                    dep2-groupid:dep2-artifactid
                </include>
            </includes>
            <outputDirectory>dep2</outputDirectory>
            <useTransitiveDependencies>true</useTransitiveDependencies>
            <useTransitiveFiltering>true</useTransitiveFiltering>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
        </dependencySet>
    </dependencySets>
</assembly>

验证效果

修改完成后,执行mvn package命令,插件会直接将依赖输出到${project.basedir}/dependencies/dep1和${project.basedir}/dependencies/dep2目录下,符合预期路径。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:15:09