簡體   English   中英

Java3D-找不到某些類,但正確設置了類路徑

[英]Java3D - Some classes not found but classpath is set correctly

我有一個使用Java3D成功編譯的類,盡管當我嘗試運行它時它說: 線程“ main”中的異常java.lang.NoClassDefFoundError:javax / media / j3d / Canvas3D

使用以下堆棧跟蹤:

        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod(Unknown Source)
        at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.media.j3d.Canvas3D
        at java.net.URLClassLoader$1.run(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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)

我已經嘗試過的東西:

  1. 在將Java3D jar復制到/ jre / lib / ext /之前,我什至無法編譯它。

  2. 我擁有最新的Java,Java3D,並且正在使用Notepad ++,並且嘗試重新安裝Java3D。

  3. 我已經正確設置了類路徑/路徑。

  4. 代碼中沒有錯誤。

  5. 我可以運行自己創建的普通Java應用程序。

  6. 我試過在運行應用程序時使用classpath東西(java -classpath blahblah ApplicationName)。

  7. 我已經檢查了罐子內部,並且類(包括Canvas3D)肯定在其中。

並非您所說的一切都是真的。

如果類在jar中,並且如果您正確設置了類路徑,那么您將不會收到此消息。

我懷疑您的構建路徑與類路徑(主要與運行時相關,其中構建路徑與編譯時相關)混淆。 在不了解運行時環境的更多細節的情況下,很難更加具體。

這總是讓我感到困惑,因為某人遇到無法解決的問題時肯定會斷言所有這些事情都是“正確”設置的:您怎么知道的? 問題是否有相反的證據,至少足以引起一個小疑問?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM