幾天前我開始學習 micronaut,自上周以來我試圖解決以下例外但無法解決這個問題。
我不知道為什么這個應用程式找不到主類。一切似乎都是正確的
我嘗試了很多解決方案,但沒有一個對我有用。
我創建了基本的演示應用程式并創建了 jar 檔案,然后我使用這些命令使用 jar 檔案運行 micronaut 應用程式,但低于例外 CMD1
java -cp build/libs/demo2-0.1.jar com.example.Application
CMD2
java -jar build/libs/demo2-0.1.jar
搖籃檔案
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'
)
}
}
例外
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中運行給定的cmd后:
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
uj5u.com熱心網友回復:
你需要使用-all罐子,即
java -cp build/libs/demo2-0.1-all.jar com.example.Application
或者
java -jar build/libs//demo2-0.1-all.jar
uj5u.com熱心網友回復:
我建議首先嘗試運行命令列 gradlew 命令以確保應用程式與運行時一起作業。嘗試
gradlew test也gradlew run
您可能會發現我們的指南也很有幫助。
https://guides.micronaut.io/latest/creating-your-first-micronaut-app-gradle-java.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/311267.html
