Java JAR无法';我找不到主课
64倍英特尔处理器Java JAR无法';我找不到主课,java,jar,Java,Jar,64倍英特尔处理器 Linux 5.0.0-27上的Kubuntu 19.04 OpenJDK 1.8.0_222 META-INF MANIFEST.MF com ydsoftware taskcalender EntryPoint.class (contains main method) 在过去的一个小时里,我设置了我的项目文件夹,创建了用于自动编译和备份等的脚本 META-INF MANIFEST.MF com ydsoftware
Linux 5.0.0-27上的Kubuntu 19.04
OpenJDK 1.8.0_222
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
在过去的一个小时里,我设置了我的项目文件夹,创建了用于自动编译和备份等的脚本
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
最后我让它工作了,我得到了JAR文件。问题是我不能运行它。我知道这是一个非常常见的问题,但我没有看到任何编译错误、错误或打字错误。我完全迷路了
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
即使使用java-jar TaskCalender.jar com.ydsoftware.TaskCalender.EntryPoint
和java-cp TaskCalender.jar com.ydsoftware.TaskCalender.EntryPoint
也会显示相同的错误
Error: Could not find or load main class com.ydsoftware.taskcalender.EntryPoint
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
我的源文件结构:
com
ydsoftware
taskcalender
EntryPoint.java (contains main method)
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
我的JAR文件结构:
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
MANIFEST.MF内容(在JAR文件中):
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
您可以根据自己的方便,在CMD或批处理文件中尝试以下操作吗
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
通用:
java-cp您的\u jar\u name.jar包\u name.classname
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
根据您的班级:
java-cp TaskCalender.jar com.ydsoftware.TaskCalender.EntryPoint
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
问题是类路径:lib/MX%20Engine.jar
丢失,因为我的计算机意外关闭(因为我们的电源因某种原因被切断),并且对MANIFEST.MF的更改丢失。甚至都没注意到
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
不过,它应该说一些类似于找不到类
或未接受标记
的内容,而不是说找不到或加载主类
,这使得查找问题更加困难
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)
谢谢所有试图帮助我的人 如果使用
java-jar
则必须在中指定主类(在jar内部);(如果使用java-cp
,它是在命令行中指定的,因为您正在尝试)您是如何生成jar文件的。您是否能够在不创建jar的情况下执行该类?问题编辑后:如果您尝试java-cp TaskCalendar.jar com.ydsoftware.TaskCalendar.EntryPoint
,会发生什么?另外,java-version
@CarlosHeuberger的输出是什么?显示清单内容,它指向正确的主类。@CarlosHeubergerjava-version
的输出是openjdk version“1.8.0_222”openjdk运行时环境(构建1.8.0_222-8u222-b10-1ubuntu1~19.04.1-b10)openjdk 64位服务器虚拟机(build 25.222-b10,混合模式)
忘了添加这也不起作用。感谢您的尝试!
META-INF
MANIFEST.MF
com
ydsoftware
taskcalender
EntryPoint.class (contains main method)