2013-08-01 68 views
2

我從netbeans創建了一個可執行的jar。點擊該罐子不起作用。所以我在命令行使用了以下內容:java -jar「TestEye.jar」查看任何問題。netbeans內的應用程序工作,但分發罐不工作

這必須在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) 
+0

確保您通過-cp或-classpath參數獲得所有依賴的jar。 –

+3

看起來更像是你沒有包含在dist目錄內運行程序 – MadProgrammer

回答

0

仔細檢查jar文件已建成後,項目中的所有您在項目中使用jar文件都包含在dist/lib文件夾中。拿在README.TXT下面一起來看看在dist文件夾:

當你建立具有主類的Java應用程序項目,該 IDE自動複製所有的JAR文件對項目 類路徑到項目DIST/lib文件夾。 IDE還將JAR文件的每個 添加到應用程序JAR文件 清單文件(MANIFEST.MF)中的Class-Path元素。

要運行命令行項目,轉到dist文件夾和 鍵入以下內容:

Java的罐子[項目名稱]的.jar

分發此項目,壓縮了dist文件夾(包括lib文件夾 )並分發ZIP文件。

注:

  • 如果在項目類路徑中兩個JAR文件具有相同的名稱,只有第一個JAR文件複製到lib文件夾。
  • 只有JAR文件被複制到lib文件夾。如果類路徑包含其他類型的文件或文件夾,則不會複製這些文件(文件夾) 。
  • 如果項目classpath上的庫也具有在清單中指定的Class-Path元素,則Class-Path元素的內容必須位於項目運行時路徑上 。
  • 要在標準Java項目中設置主類,請在「項目」窗口中右鍵單擊項目節點,然後選擇「屬性」。然後點擊 運行並在主類字段中輸入類名稱。或者, 您可以在清單Main-Class 元素中手動鍵入類名稱。

祝你好運!

+0

所需的原生資源。我有lib目錄和可執行jar。我打開jar文件來查看清單,這是在META-INF目錄中。 The Manifest.MF states Manifest-Version:1.0 Ant-Version:Apache Ant 1.8.4 創建者:1.7.0_25-b16(Oracle Corporation) 類路徑:lib/antlr.jar lib/aspectjrt.jar lib /gdal.jar lib/gluegen -r t.jar lib/jogl-all.jar lib/nddsjava.jar lib/nddsjavad.jar lib/rtiddsg en.jar lib/worldwind.jar lib/worldwindx。jar X-COMMENT:Main-Class將自動添加build Main-Class:Testseye.TestEye – user1739999

+0

這很奇怪,爲什麼然後你的程序試圖在這裏找到jar文件:'C:\ Users \ Engineer101 \ Documents \ NetBeansProjects \ TestEye \ dist \ lib \ gluegen-rt-natives-windows- amd64.jar'?你在程序中的任何地方引用這個路徑嗎? – STM

相關問題