日常踩坑_maven打包显示user id 'xxx' is too big

发布时间 2023-11-27 17:00:57作者: Dean_001

背景提要

本身在win10下的环境,maven是可以正常打包的
但在一切未动的条件下,将项目放到了linux环境下,发现报了一个莫名其妙的错
goal org.apache.maven.plugins:maven-assembly-plugin:3.1.1:single failed: user id '7543842' is too big

解决

在pom.xml文件中插入posix,位置大概是

    <configuration>
   <descriptors>
    <descriptor>src/assembly/distribution.xml</descriptor>
    </descriptors>
    <tarLongFileMode>posix</tarLongFileMode>
    <outputDirectory>${project.build.directory}</outputDirectory>
    <appendAssemblyId>false</appendAssemblyId>
   </configuration>

原因

posix是maven-assembly-plugin插件的一个配置选项,用于解决在使用Tar格式打包时可能遇到的文件路径过长导致的问题。

在Unix/Linux系统上,Tar格式的存档文件有时会受到文件路径长度的限制。当文件路径超出一定长度时,Tar文件会报错并导致打包失败。这个问题在创建类似于tar格式的归档文件时尤为常见,因为这些归档文件会保留完整的文件路径信息。

posix配置项告诉Maven的maven-assembly-plugin插件在创建Tar格式的归档文件时使用POSIX兼容的方式处理长文件路径。POSIX标准提供了一种方法来处理文件路径超长的情况,它使用一种特殊的方法将长路径转换成相对路径或者截断以适应Tar文件格式的限制。

因此,配置了posix可以帮助解决在打包过程中由于文件路径过长而导致的打包失败问题,使得maven-assembly-plugin能够以POSIX兼容的方式处理这些长路径,确保打包成功。

就是这样

跳坑成功,祝你今天过的开心!