首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Micronaut中的ClassNotFoundException

Micronaut中的ClassNotFoundException
EN

Stack Overflow用户
提问于 2021-10-11 03:25:44
回答 2查看 328关注 0票数 0

几天前我开始学习micronaut,因为上个星期我试图解决下面的异常,但无法解决这个问题。

我不知道为什么这个应用程序找不到主类.Everything似乎是正确的

我尝试了许多解决方案,但没有一个对我有效。

我创建了基本的演示应用程序和jar文件,然后使用这些命令通过jar文件运行micronaut应用程序,但得到了异常CMD1

代码语言:javascript
复制
java -cp build/libs/demo2-0.1.jar  com.example.Application

CMD2

代码语言:javascript
复制
 java -jar build/libs/demo2-0.1.jar 

Gradle文件

代码语言:javascript
复制
plugins {
    id("com.github.johnrengelman.shadow") version "7.0.0"
    id("io.micronaut.application") version "2.0.6"
    id 'java'
}

version = "0.1"
group = "com.example"

repositories {
    mavenCentral()
}

micronaut {
    runtime("netty")
    testRuntime("junit5")
    processing {
        incremental(true)
        annotations("com.example.*")
    }
}

dependencies {
    // https://mvnrepository.com/artifact/io.micronaut/micronaut-runtime
    implementation("io.micronaut:micronaut-runtime:3.1.0")

    annotationProcessor("io.micronaut:micronaut-http-validation")
    implementation("io.micronaut:micronaut-http-client")
    runtimeOnly("ch.qos.logback:logback-classic")
    implementation("io.micronaut:micronaut-validation")

}


application {
    mainClass.set("com.example.Application")
}
java {
    sourceCompatibility = JavaVersion.toVersion("1.8")
    targetCompatibility = JavaVersion.toVersion("1.8")
}





jar {
    manifest {
        attributes(
                'Main-Class': 'com.example.Application'
        )
    }
}

异常

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: io/micronaut/runtime/Micronaut
        at com.example.Application.main(Application.java:8)
Caused by: java.lang.ClassNotFoundException: io.micronaut.runtime.Micronaut
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

在ans中运行给定命令后:

代码语言:javascript
复制
BLRETV-MMMMMM:demo2 User$ java -jar build/libs/demo2-0.1-all.jar
Error: Unable to access jarfile build/libs/demo2-0.1-all.jar
BLRETV-MMMMMM:demo2 User$ java -cp build/libs/demo2-0.1-all.jar  com.example.Application
Error: Could not find or load main class com.example.Application
EN

回答 2

Stack Overflow用户

发布于 2021-10-11 12:12:14

您需要使用-all jar,即

java -cp build/libs/demo2-0.1-all.jar com.example.Application

java -jar build/libs//demo2-0.1-all.jar

票数 2
EN

Stack Overflow用户

发布于 2021-10-12 18:37:10

我建议首先尝试运行命令行gradlew命令,以确保应用程序可以在运行时正常工作。试试gradlew testgradlew run

你可能会发现我们的指南也很有帮助。

https://guides.micronaut.io/latest/creating-your-first-micronaut-app-gradle-java.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69520713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档