Jama.Matrix ClassNotFoundException - PullRequest
       15

Jama.Matrix ClassNotFoundException

0 голосов
/ 08 декабря 2009

Я пытаюсь использовать пакет Jama в своем коде в Linux. В моем основном классе я пытаюсь использовать класс Matrix.

Вот мой главный класс:

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

Я не использую IDE, мой make-файл:

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/

И у меня есть следующий вывод, когда я запускаю Main

sefa@sefa-laptop:~/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
sefa@sefa-laptop:~/Desktop/courses/cs578-nlp/CS578Project/source$ 

1 Ответ

2 голосов
/ 08 декабря 2009

Вы используете независимый класс без правильного пути к классу. Если вы добавляете ссылку на jar к манифесту в файле JAR, вам не нужно добавлять его в путь к классу при его запуске.

...