Java

如何在 Linux 上執行 Zeo 解碼器查看器?

  • June 3, 2011

我正在嘗試在 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 位於同一目錄中。

引用自:https://unix.stackexchange.com/questions/14286