从命令提示符运行JAR文件时,为什么会收到异常?

问题描述:

嗨我做了一个可运行的JAR文件在eclipse上使用导出选项。但是,当我去通过命令提示符运行文件时,我得到以下内容从命令提示符运行JAR文件时,为什么会收到异常?

Exception in thread "main" java.lang.NoSuchMethodError 
    at org.eclipse.jdt.internal.jarinjarloader.RsrcURLConnection.getInputStream(RsrcURLConnection.java:43) 
    at java.net.URL.openStream(Unknown Source) 
    at sun.misc.URLClassPath$Loader.getResource(Unknown Source) 
    at sun.misc.URLClassPath.getResource(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Unknown Source) 
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)  

有没有人有什么想法做什么即时通讯做错了?整个创建可运行文件等都很新。

您的jar是使用比您运行它的计算机更新的Java版本进行编译的。

+0

我如何获得最新的版本 – Podge 2012-07-12 13:21:23

+0

要检查你的PC版本运行它。在cmd提示符下输入java -version。要将其更新到最新版本,请转到此处:http://www.oracle.com/technetwork/java/javase/downloads/index.html – 2012-07-12 13:22:14

+0

您使用比java 3更新的版本开发它,更新到您编译它的版本用。 – 2012-07-12 13:22:54

解压缩jar文件查找文件META-INF/MANIFEST-MF。这个文件应该有一个入口

Main-Class : <you fully qualified classname having main method> 

检查,如果你的主类中提到的类有一个main方法(public static void main(String[] arg)