我在eclipse中构建了一个Java项目。它在eclipse中运行良好。我之前已经将它作为jar导出,并且工作正常。不过,自从上次出口以来已经有一段时间了。这一次,当我输出并点击jar时,什么都没有发生。从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)看起来是这样的:(是的,它有一个额外的空行)
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
我很困惑,在从命令行运行时,如何涉及eclipse类'org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader'。你有什么想法是怎么回事?另外,您是否可以解压缩您的jar并向我们展示存档的结构? – thatidiotguy
Eclipse JDK和系统jdk不同,我猜这里。请检查 – Bhupi
老实说,我也对此感到困惑。我从未指定明确使用org.eclipse中的任何内容。我现在正在开箱拆箱,并且很快就会有这个功能 – B1CL0PS