Почему возникает исключение 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)- выполняется корректно.
пытался шерстить гугл, но каких либо внятных ответов не получил. Можете что ли конкретно посоветовать?
Я верно понимаю, что у меня по аналогии с win не прописан classpath по умолчанию?
abs0lut: Запустилось! Огромное спасибо! Почему не подходит мой изначальный вариант тогда в котором я вводил "...va/test/bin/test", а обязательно "...va/test/bin test" с пробелом? Это одно из правил консоли unix'овых систем?
Было бы здорово если бы посоветовали какой либо ресурс для пополнения этих знаний.
abs0lut: я занимался по Шильдту "для начинающих" и начал Экельза + курс, но в нем такой фундаментальный вопрос не поднимается к сожалению.
Еще раз благодарен.