“无法加载主类” NoClassDefFoundError或“无主清单属性”

问题描述 投票:-1回答:1

你好

我正在使用Kotlin编写基于SparkJava框架的Web应用程序。几天前,我可以创建一个可执行的jar文件,并且一切正常。没有错误。

目前,我无法创建正确的jar文件,也无法找到原因和原因。我做所有事情都像以前一样。

请帮助我。我被这个问题困扰了大约2天,我不知道该怎么解决。

执行“ java -jar”后出错:

错误:找不到或加载主类com.my.package.backend.Application由以下原因引起:java.lang.ClassNotFoundException:com.my.package.backend.Application

我尝试将清单文件及其文件夹放置在main,src的任何地方。没用。IntelliJ Idea版本:2020.1.1

到目前为止,我已经尝试了所有方法,但没有任何效果。我在StackOverflow上尝试了所有可用的解决方案,形成了类似的线程。什么都没有帮助:(

完整的配置,用于项目工件,模块,gradle屏幕快照上的Application类等。

application file

artifacts

build gradle

command line error

file structure

manifest

modules

project structure

kotlin intellij-idea jar manifest executable-jar
1个回答
0
投票

默认情况下,Kotlin编译器以<FileName>Kt.class的形式输出已编译的文件,而类名相同,而输出文件名则不同。

因此,为了解决此问题(以实现Java互操作性及其配置),Kotlin documentation建议使用JvmName注释。

// after copyright notice

@file:JvmName("Application")

// before package declaration

这将帮助您的清单文件正确指向Application类。

© www.soinside.com 2019 - 2024. All rights reserved.