Вы можете создать переменную окружения CLASSPATH и прописывать туда все пути к классам (включая *.jar файлы, скажем, для сторонних библиотек).
Или же, можете задавать в командной строке при запуске своей программы:
java -cp pathesToClasses MyProg
в pathesToClasses символ ';' используется для разделения отдельных путей (если Вы указываете несколько директорий/jar/zip файлов с классами)
Если классы находятся в jar файле (большинство сторонних библиотек), то необходимо указывать полный путь к файлу и имя самого файла. Например, если у Вас есть стороння библиотека F:\Java\ThirdPartyLibraries\someLib.jar, то запуск программы, ее использующий может выглядеть так:
java -cp F:\Java\ThirdPartyLibraries\someLib.jar;./ MyProg
'./' - указывает, что текущая директория (откуда вы запускаете эту командную строку) рассматривается как часть CLASSPATH. Это полезно при запуске своих программ во время их разработки, отладки. Следует учитывать, однако, что если Ваш класс, содержащий функцию main() входит в некий myPackage пакет(package), то Вы должны в CLASSPATH указать путь к директории/jar файлу, содержащему папку myPackage и задавать имя класса в форме myPackage.MyProg.
Например, Вы имеете: F:\Java\MyProjects\myPackage\MyProg.class (MyProg содержится в пакете myPackage)
тогда, чтобы запустить Вашу программу, необходимо, находясь в директории F:\Java\MyProjects\ набрать java -cp F:\Java\ThirdPartyLibraries\someLib.jar;./ myPackage.MyProg
Рукомендую применять bat файлы
Иначе все это скоро начинает раздражать
Если применяете shortcut'ы для запуска программы прямо с десктопа Windows, не забывайте задавать соответствующую рабочую директорию, в последнем примере это будет F:\Java\MyProjects