2

我从 netbeans 创建了一个可执行的 jar。单击罐子不起作用。所以我在命令行中使用了以下命令:java -jar "TestEye.jar" 来查看任何问题。

这必须是 netbeans 中的设置问题。如果你有解决方案。我会很感激的。

Catched FileNotFoundException: 
C:\Users\Engineer101\Documents\NetBeansProjects\TestEye\dist\lib\gluegen-rt-natives-windows-  
amd64.jar 
(The system cannot find the file specified), while TempJarCache.bootstrapNativeLib() of 
jar:file:/C:/Users/Engineer101/Documents/NetBeansProjects/TestEye/dist/lib/gluegen-rt-natives 
windows-amd64.jar!/ (file:/C:/Users/Engineer101/Documents/NetBeansProjects/TestEye
/dist/lib/ + gluegen-rt-natives-windows-amd64.jar)


Exception in thread "main" java.lang.UnsatisfiedLinkError: no gluegen-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(JNILibLoaderBase.java:442)
    at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:59)
    at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary
    (JNILibLoaderBase.java:90)
    at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:328)
    at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary
    (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 gov.nasa.worldwind.Configuration.getMaxCompatibleGLProfile
    (Unknown Source)
    at gov.nasa.worldwind.awt.WorldWindowGLCanvas.getCaps(Unknown Source)
    at gov.nasa.worldwind.awt.WorldWindowGLCanvas.<init>(Unknown Source)
    at gov.nasa.worldwindx.examples.ApplicationTemplate$AppPanel.createWorld
    Window(Unknown Source)
    at gov.nasa.worldwindx.examples.ApplicationTemplate$AppPanel.<init>
   (Unknown Source)
    at gov.nasa.worldwindx.examples.ApplicationTemplate$AppFrame.
    createAppPanel(Unknown Source)
    at gov.nasa.worldwindx.examples.ApplicationTemplate$AppFrame.initialize
    (Unknown Source)
    at gov.nasa.worldwindx.examples.ApplicationTemplate$AppFrame.<init>
    (Unknown Source)
    at TestEye.TestEye$AppFrame.<init>(TestEye.java:75)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
    (Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at gov.nasa.worldwindx.examples.ApplicationTemplate.start
    (Unknown Source)
    at TestEye.TestEye.main(TestEye.java:209)
4

1 回答 1

0

在构建项目文件后,仔细检查jar您在项目中使用的所有文件是否都包含在该dist/lib文件夹jar中。看看下面README.TXTdist文件夹中的a:

当您构建具有主类的 Java 应用程序项目时,IDE 会自动将项目类路径上的所有 JAR 文件复制到项目的 dist/lib 文件夹中。IDE 还将每个 JAR 文件添加到应用程序 JAR 文件清单文件 (MANIFEST.MF) 中的 Class-Path 元素。

要从命令行运行项目,请转到 dist 文件夹并键入以下内容:

java -jar [项目名称].jar

要分发此项目,请压缩 dist 文件夹(包括 lib 文件夹)并分发 ZIP 文件。

笔记:

  • 如果项目类路径上的两个 JAR 文件同名,则仅将第一个 JAR 文件复制到 lib 文件夹。
  • 只有 JAR 文件被复制到 lib 文件夹。如果类路径包含其他类型的文件或文件夹,则不会复制这些文件(文件夹)。
  • 如果项目类路径上的库还具有在清单中指定的 Class-Path 元素,则 Class-Path 元素的内容必须在项目运行时路径上。
  • 要在标准 Java 项目中设置主类,请右键单击“项目”窗口中的项目节点并选择“属性”。然后单击 Run 并在 Main Class 字段中输入类名。或者,您可以在清单 Main-Class 元素中手动键入类名。

祝你好运!

于 2013-08-01T08:43:52.133 回答