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

Micronaut运行jar包出现ClassNotFoundException异常求助

问题根因

  • 直接执行的demo2-0.1.jar是普通项目构建产物,仅包含自身业务代码,未整合Micronaut等第三方依赖,因此运行时抛出ClassNotFoundException找不到核心类。
  • 已引入shadow插件但未执行对应构建任务,build/libs目录下未生成带-all后缀的全量依赖包,因此触发无法访问jar文件的报错。
  • 手动为普通jar添加的manifest主类配置,与Micronaut应用插件、shadow插件的自动配置冲突,会导致全量包构建后主类配置异常。
  • 手动指定micronaut-runtime:3.1.0版本,与2.0.6版本的Micronaut应用插件默认适配的2.x版本存在兼容性冲突,也可能引发类加载异常。

解决方案

  1. 调整build.gradle配置
    • 删除多余的普通jar manifest配置段
    • 移除micronaut-runtime依赖的手动版本号,交由Micronaut插件统一管理依赖版本
      调整后的dependencies段如下:
    dependencies {
        implementation("io.micronaut:micronaut-runtime")
        annotationProcessor("io.micronaut:micronaut-http-validation")
        implementation("io.micronaut:micronaut-http-client")
        runtimeOnly("ch.qos.logback:logback-classic")
        implementation("io.micronaut:micronaut-validation")
    }
    
  2. 执行全量包构建任务
    项目根目录下执行构建命令:
    # Linux/Mac
    ./gradlew shadowJar
    # Windows
    gradlew.bat shadowJar
    
  3. 启动应用
    构建完成后执行启动命令即可正常运行:
    java -jar build/libs/demo2-0.1-all.jar
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:09:03