Java 从eclipse导出jar赢得';行不通

Java 从eclipse导出jar赢得';行不通,java,eclipse,exception,jar,executable-jar,Java,Eclipse,Exception,Jar,Executable Jar,我在eclipse中构建了一个Java项目。它在eclipse中运行良好。我以前把它作为罐子出口过,效果很好。不过,上次出口已经有一段时间了。这一次,当我导出并单击jar时,什么也没发生 从命令行运行会显示以下错误: C:\>java -jar "C:\Users\Quinn\Desktop\think.jar" Exception in thread "main" java.lang.IllegalAccessException: Class org.eclipse.jdt.intern

我在eclipse中构建了一个Java项目。它在eclipse中运行良好。我以前把它作为罐子出口过,效果很好。不过,上次出口已经有一段时间了。这一次,当我导出并单击jar时,什么也没发生

从命令行运行会显示以下错误:

C:\>java -jar "C:\Users\Quinn\Desktop\think.jar"
Exception in thread "main" java.lang.IllegalAccessException: Class org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader can not access a member of class think.Main with modifiers "public static"
这个错误意味着什么?这有什么原因吗?我在网上找不到有人提到这件事

非常感谢

编辑: 当我解压jar时,内容如下所示:

清单(在META-INF中)如下所示:(是的,它有一个额外的空行)


当您使用Export>Runnable Jar文件时,JARRSRLoader包含在Jar中。它处理jar中的嵌套jar文件


JarrsLoader正在尝试找到
main
think.main
方法,但找不到名为
main
的方法,该方法是
public static

,这很尴尬。事实证明,尽管我的主要方法是
publicstatic
,但包含的类不是public。现在一切都已修复:)

当您从命令行运行时,我不清楚eclipse类如何涉及org.eclipse.jdt.internal.jarinjarloader.jarrsLoader。你知道怎么回事吗?另外,您能解压jar并向我们展示归档文件的结构吗?我想Eclipse JDK和system JDK在这里是不同的。老实说,我也很困惑。我从未明确指定在org.eclipse中使用任何东西。我现在正在打开罐子的包装,很快就会把它拿出来
Manifest-Version: 1.0
Rsrc-Class-Path: ./ substance-6.1.jar trident.jar
Class-Path: .
Rsrc-Main-Class: think.Main
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader