java - 可运行的 JAR 文件在 Eclipse 中导出后不运行

标签 java eclipse jar export

我有以下层次结构:

enter image description here

当我将项目导出到可运行的 JAR 文件(32 位平台)时,文件 已成功创建,但当我尝试运行它时,没有任何反应 - 操作系统(Windows 7 专业版)没有响应。

为什么我不能运行 jar 文件?

谢谢

编辑:

C:\1>java -jar ex3.jar
Catched FileNotFoundException: C:\1\ex3-natives-windows-i586.jar (The system can
not find the file specified), while TempJarCache.bootstrapNativeLib() of jar:fil
e:/C:/1/ex3-natives-windows-i586.jar!/ (file:/C:/1/ + ex3-natives-windows-i586.j
ar)
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no gluege
n-rt in java.library.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoad
erBase.java:442)
        at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.ja
va:59)
        at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNIL
ibLoaderBase.java:90)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.j
ava:328)
        at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrar
y(DynamicLibraryBundle.java:390)
        at com.jogamp.common.os.Platform.loadGlueGenRTImpl(Platform.java:251)
        at com.jogamp.common.os.Platform.access$000(Platform.java:57)
        at com.jogamp.common.os.Platform$1.run(Platform.java:186)
        at com.jogamp.common.os.Platform$1.run(Platform.java:183)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.jogamp.common.os.Platform.<clinit>(Platform.java:183)
        at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:82)
        at javax.media.opengl.awt.GLCanvas.<init>(GLCanvas.java:246)
        at javax.media.opengl.awt.GLCanvas.<init>(GLCanvas.java:196)
        at javax.media.opengl.awt.GLCanvas.<init>(GLCanvas.java:186)
        at WorldController.<init>(WorldController.java:119)
        at WorldController$1.run(WorldController.java:478)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$200(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

C:\1>

更新:

C:\>
C:\>java -jar ex3.jar
Exception in thread "main" java.lang.IllegalAccessException: Class org.eclipse.j
dt.internal.jarinjarloader.JarRsrcLoader can not access a member of class WorldC
ontroller with modifiers "public static"
        at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
        at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(Unknown Sour
ce)
        at java.lang.reflect.AccessibleObject.checkAccess(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:58)

C:\>

最佳答案

您好像接到了非法电话。这意味着您尝试调用不允许调用的方法。 (引用您更新的编辑)

您的错误表明您要执行带有修饰符 public static 的方法。静态方法必须使用类名而不是对象调用:

SomeClass.staticMethodCall();

以下是错误的:

SomeClass sc = new SomeClass();
sc.staticMethodCall();

关于java - 可运行的 JAR 文件在 Eclipse 中导出后不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16642820/

相关文章:

java - 如何使用 apache log4j2 功能和 log4j2 配置文件写入 CSV 文件?

java - 在最终公共(public)类Java中修改最终静态变量

java - 如何使hibernate增强插件忽略某些类?

eclipse - 如何在 Eclipse WTP Tomcat 中自动设置 crossContext

maven - 在 Maven 构建之后,tar gz 文件包含损坏的 jar 文件

Java 匹配计数器和伪匹配计数器

java - 未定义媒体 - 如何在 Eclipse 中的 PhoneGap 应用程序中启用媒体

eclipse - 双击突出显示

java - 当我们使用 Build Path 选项在动态 Web 项目中创建 servlet 时,eclipseIDE 中的 Servlet.jar 需要什么?

java - 如何创建我自己的 java 库(API)?