Java JAR无法';我找不到主课

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

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
    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的输出是什么?显示清单内容,它指向正确的主类。@CarlosHeuberger
java-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)