应用程序在netbeans中工作,但分发jar不起作用

时间:2013-08-01 07:32:05

标签: java netbeans

我从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)

1 个答案:

答案 0 :(得分:0)

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

  

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

     

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

     

java -jar [project-name] .jar

     

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

     

注意:

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