2009-12-07 4 views
0

Linux의 코드에서 Jama 패키지를 사용하려고합니다. Main 클래스에서 Matrix 클래스를 사용하려고합니다. 내가 어떤 IDE를 사용하고 있지 않다Jama.Matrix ClassNotFoundException

import Jama.*; 
class Main { 
    public static void main(String[] args) { 
     Matrix A = new Matrix(3,5); 
    } 
} 

, 내 메이크 파일은 다음과 같습니다 : 여기

내 메인 클래스입니다

JC = javac -classpath $(CLASSPATH):jars/Jama-1.0.2.jar 
.SUFFIXES: .java .class 
.java.class: 
    $(JC) $(JFLAGS) $*.java 

CLASSES = \ 
    Title.java \ 
    Sentence.java \ 
    Document.java \ 
    LSA.java \ 
    Main.java \ 

default: classes 

classes: $(CLASSES:.java=.class) 

clean: 
    $(RM) *.class 

내 jar 파일이 ./jars/ 디렉토리 아래

그리고 메인을 실행하면 다음과 같은 결과가 출력됩니다.

[email protected]:~/Desktop/courses/cs578-nlp/CS578Project/source$ java Main 
Exception in thread "main" java.lang.NoClassDefFoundError: Jama/Matrix 
    at Main.main(Main.java:9) 
Caused by: java.lang.ClassNotFoundException: Jama.Matrix 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252) 
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) 
    ... 1 more 
[email protected]:~/Desktop/courses/cs578-nlp/CS578Project/source$ 
+1

글쎄, 목록에 Matrix 클래스가 표시되지 않습니까? – Bozho

+0

Matrix는 Jama 패키지의 클래스입니다. – monksy

답변

1

올바른 클래스 경로가없는 독립 클래스를 실행 중입니다. JAR 파일의 매니페스트에 jar 참조를 추가하면이를 실행할 때 클래스 경로에 추가 할 필요가 없습니다.

+0

불행히도, 나는 Java와 jar를 처음 사용합니다. 내가 어떻게 할 수 있는지 설명해 주시겠습니까? 감사합니다. – sefakilic

+0

또한 메이크 파일에 어떤 문제가 있습니까? – sefakilic

+0

아니, 클래스를 실행하는 방법. – monksy