@abbath0767
QA, DEV

Почему возникает исключение ClassNotFoundException?

Доброго времени суток.
Изучая java я столкнулся с вопросом о требовании к фундаментальным знания, которых у меня не хватает.
Суть проблемы - имеем macos, 2 папки - src и bin
В src создал текстовый файл souttest.java в котором простейший HeloWorld
С помощью терминала выполнил компиляцию javac -d bin src/souttest.java после чего в папке bin создан файл test.class
Собственно проблема - если выполнять не из папки запуск программы то возникает ошибка - а именно
yr-2:test NG$ java bin/test.class
Exception in thread "main" java.lang.NoClassDefFoundError: bin/test/class
Caused by: java.lang.ClassNotFoundException: bin.test.class
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)

Но если выполнить следующий команды cd bin, а после java test (без .class)- выполняется корректно.

Помогите, пожалуйста, разобраться в проблеме
  • Вопрос задан
  • 3071 просмотр
Решения вопроса 1
abs0lut
@abs0lut
Добавьте флаг -ср к вызову команды java, после него укажите абсолютный путь к .class файлу.
p.s. Почитайте про classpath
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы