Я пытаюсь использовать сторонний пакет (назовите его 'foo.bar'). Он находится в файле jar в текущем каталоге (foo.bar.jar). Я пытаюсь запустить следующую супер базовую программу в стиле "hello-world":
package foo.bar.bla;
import foo.bar.*;
import foo.bar.somethingelse.SomeException;
public class HelloWorld implements SomethingInFooBar {
public static void main(String[] args) throws SomeException {
System.out.println("Hello World!");
}
}
Он прекрасно компилируется, когда я использую javac -cp foo.bar.jar HelloWorld.java
.
Но когда я пытаюсь запустить его (используя java HelloWorld
), я всегда получаю ошибку NoClassDefFoundError (wrong name)
вместе с /
-разделенным путем к пакету (some/path/like/this/HelloWorld
) того, где класс якобы лежит. Но когда я пытаюсь запустить его с полным путем (как уже упоминалось в других вопросах и на других сайтах, посвященных этой проблеме), он все равно не работает (с помощью команды java path.it.gave.me.HelloWorld
).
Спасибо за понимание этой проблемы n00b. Я должен перестать так сильно полагаться на Eclipse!