실행하려고 하는데Zeo 디코더 뷰어(Java 애플리케이션) Linux에서는 이 작업을 어떻게 해야 할지 모르겠습니다.
프로그램과 필수 라이브러리(모두 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$
내가 근본적으로, 심각하게 잘못된 일을 하고 있는 걸까요?
답변1
일반적으로 대답에는 클래스 경로와 -cp
매개변수가 포함되지만문서이 특정 프로젝트의 경우 질문은 분명합니다.
jar 파일과 lib 폴더를 원하는 디렉토리에 추출합니다.
나머지 3개의 jar는 lib
"main" jar과 동일한 디렉토리가 아닌 하위 폴더에 있어야 합니다.