Я пишу make-файл, который компилирует файл .java
в другой каталог, и затем я хочу запустить Это, без изменения каталогов. Я хочу сделать что-то вроде:
$(SQM_JAVA_TOOL_DONE) : $(SQM_JAVA_TOOL)
$(shell cd /home_dir)
javac myjavafile.java
java myjavafile
где файл Java находится в /home/myjavafile.java
, а make-файл не запускается из / home
.
Как я могу это сделать?
Возможно, я неправильно понял вопрос, но вы можете скомпилировать с помощью
javac /home/MyJavaFile.java
. Это создаст MyJavaFile.class
в / home
. Затем вы можете запустить его, включив / home
в пути к классам. например
java -cp /home MyJavaFile
Если вы хотите сгенерировать файл класса в другом каталоге, вы можете использовать параметр -d
для javac
.
Используйте параметр командной строки -d
с javac
, чтобы указать, в каком каталоге вы хотите сохранить файлы скомпилированных классов. Затем, чтобы запустить программу, просто включите этот каталог в путь к классам:
javac -d some/directory myjavafile.java
java -cp some/directory myjavafile