Как мне скомпилировать и запустить класс Java в другом каталоге?

Я пишу make-файл, который компилирует файл .java в другой каталог, и затем я хочу запустить Это, без изменения каталогов. Я хочу сделать что-то вроде:

$(SQM_JAVA_TOOL_DONE) : $(SQM_JAVA_TOOL)
        $(shell cd /home_dir)
        javac myjavafile.java
        java myjavafile

где файл Java находится в /home/myjavafile.java , а make-файл не запускается из / home .

Как я могу это сделать?

30
задан Paŭlo Ebermann 18 October 2011 в 15:33
поделиться

2 ответа

Возможно, я неправильно понял вопрос, но вы можете скомпилировать с помощью

javac /home/MyJavaFile.java

. Это создаст MyJavaFile.class в / home

. Затем вы можете запустить его, включив / home в пути к классам. например

java -cp /home MyJavaFile

Если вы хотите сгенерировать файл класса в другом каталоге, вы можете использовать параметр -d для javac .

37
ответ дан 27 November 2019 в 23:27
поделиться

Используйте параметр командной строки -d с javac , чтобы указать, в каком каталоге вы хотите сохранить файлы скомпилированных классов. Затем, чтобы запустить программу, просто включите этот каталог в путь к классам:

javac -d some/directory myjavafile.java
java -cp some/directory myjavafile
34
ответ дан 27 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: