解决 Maven os.detected.classifier 报错:快速修复指南


本文已收录在Github关注我,紧跟本系列专栏文章,咱们下篇再续!

  • 魔都架构师 | 全网30W技术追随者
  • 大厂分布式系统/数据中台实战专家
  • 主导交易系统百万级流量调优 & 车联网平台架构
  • 🧠 AIGC应用开发先行者 | 区块链落地实践者
  • 以技术驱动创新,我们的征途是改变世界!
  • 实战干货:编程严选网

0 前言

在 Maven 项目中,os.detected.classifier 是由 os-maven-plugin 检测操作系统类型并生成的一个属性,用于为不同平台选择合适的本地库。如果这个属性报错或“爆红”,通常是因为缺少插件声明或构建时无法识别你的操作系统。

1 解决方案

1.1 方法一:添加 os-maven-plugin 插件

确保你已正确声明 os-maven-plugin 插件:

<build>
    <plugins>
        <plugin>
            <groupId>kr.motd.maven</groupId>
            <artifactId>os-maven-plugin</artifactId>
            <version>1.6.2</version> <!-- 使用最新版本 -->
            <executions>
                <execution>
                    <phase>initialize</phase>
                    <goals>
                        <goal>detect</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

此插件会在 Maven 构建的初始化阶段检测操作系统,并设置 os.detected.classifier 属性,供其他依赖项使用(如需要平台相关的 native 库)。

点击执行:

控制台输出:

1.2 方法二:手动指定 os.detected.classifier

若你确定当前环境无需自动检测,或者想绕过这个问题,可手动在命令行中指定该属性。如:

mvn clean install -Dos.detected.classifier=your-classifier

其中 your-classifier 可能类似 osx-x86_64linux-x86_64windows-x86_64 的值,根据你的系统进行调整。

1.3 方法三:检查 Maven 环境

有时问题可能出在 Maven 环境本身。你可以尝试以下操作:

  1. 更新 Maven 到最新版

  2. 清理 Maven 缓存

    rm -rf ~/.m2/repository/
    
  3. 重新运行构建命令

    mvn clean install
    

本文由博客一文多发平台 OpenWrite 发布!