JAVA_HOME не должен указывать на папку bin в большинстве случаев, он должен указывать на корневой каталог вашего дистрибутива Java. В среде разработки это корень JDK. Обычно в этом каталоге находится каталог bin, содержащий javac и каталог jre.
При компиляции вашего второго класса он не может найти ваш первый класс, потому что вы забыли сообщить компилятору, где находятся классы для этого проекта. Javac добавит классы в путь к классам, но не обнаружит классы самостоятельно. Вам нужно сделать что-то вроде:
javac -classpath . MovieTestDrive.java
«Точка» указывает, что текущий рабочий каталог является корнем дерева пути к классам.
Обратите внимание, что вам действительно нужно сделать намного больше, чтобы ваши программы (даже если они были просто игрушечными проектами) работали намного лучше в среде Java. Разработка в пакете "default" не рекомендуется. Чтобы исправить разработку пакета по умолчанию, добавьте строку в начало каждого файла .java
package org.myname.movie;
и создайте каталоги, соответствующие
./org
./org/myname
./org/myname/movie
и затем переместите файлы в соответствующие каталоги.
В качестве бонуса вы быстро захотите составить скрипт вашей системы сборки, чтобы избежать необходимости вручную вводить команды компиляции Java. Я рекомендую ant как систему сборки для Java, но если у вас есть предыдущая история с make
, вы можете использовать ее до тех пор, пока не станете опытными с ant.
Другими хорошими идеями является разделение вашего каталога исходного кода с вашим каталогом, содержащим ваши скомпилированные классы. Javac имеет параметр командной строки "destdir", который помещает файлы ".class" в другое дерево каталогов, чем ваши исходные коды. Это позволяет легко полностью перестраивать (удаляя классы, не повреждая исходники), и настраивает вас на простую упаковку jar (что вы в конечном итоге захотите сделать).
Удачи, и если вам нужна помощь, не стесняйтесь комментировать.