Не следует указывать classpath , чтобы он указывал на каталог bin JDK - вместо этого это должна быть переменная окружения PATH , которая служит для цели classpath. (Classpath определяет список jar-файлов и каталогов, содержащих скомпилированный код Java .class; переменная PATH определяет список путей, где оболочка должна искать и находить программы для выполнения, когда они не найдены в текущем каталоге - так что если вы введите, например, zip
- он будет смотреть во всех каталогах, определенных в PATH
, и обнаружит, что программа zip
находится в /usr/bin
)
Во-вторых, если вы хотите скомпилировать исходники из обоих каталогов, вам нужно указать:
- все пути, где находятся источники (оба
home/pathToFolderA/src
и home/pathToFolderB/gen-java
)
- путь, по которому должны быть скомпилированы файлы .class
- укажите в classpath любую библиотеку, которую вы можете использовать в своих исходных файлах
Подводя итог, можно было бы скомпилировать что-то вроде этого:
javac -d /home/pathToFolderWithResultsOfCompilation -classpath /path/to/some.jar:/path/to/another.jar home/pathToFolderA/src/*.java home/pathToFolderB/gen-java/*.java
и для запуска ваших скомпилированных программ:
java -classpath /path/to/some.jar:/path/to/another.jar:/home/pathToFolderWithResultsOfCompilation full.name.of.your.Java