Java
如何在 Linux 上執行 Zeo 解碼器查看器?
我正在嘗試在 Linux 上執行Zeo Decoder Viewer(一個 Java 應用程序),但我不確定我應該如何執行此操作。
我已經將程序和所需的庫(都在 jar 文件中)放在 /opt/zeo/ 目錄中,我試試這個:
miernik@przehyba:/opt/zeo$ ls appframework-1.0.3.jar joda-time-1.6.jar swing-worker-1.1.jar ZeoDecoderViewer.jar miernik@przehyba:/opt/zeo$ java -jar ZeoDecoderViewer.jar Exception in thread "main" java.lang.NoClassDefFoundError: org/jdesktop/application/SingleFrameApplication at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Caused by: java.lang.ClassNotFoundException: org.jdesktop.application.SingleFrameApplication at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 12 more Could not find the main class: com.myzeo.viewer.ZeoDecoderViewer. Program will exit. miernik@przehyba:/opt/zeo$
我在做一些基本的可怕錯誤嗎?
通常,答案將涉及類路徑和
-cp
參數,但這個特定項目的文件清楚地說明了這個問題:將 jar 文件和 lib 文件夾解壓縮到您選擇的目錄。
其他三個 jar 應位於名為 的子文件夾中
lib
,而不是與“主”jar 位於同一目錄中。