如何在不同的目录中编译和运行 Java 类?

2022-09-01 05:37:49

我正在编写一个在不同目录中编译文件的makefile,然后我想在不更改目录的情况下运行它。我想做一些事情,大致如下:.java

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

其中 Java 文件是 ,并且生成文件不是从 运行。/home/myjavafile.java/home

我该怎么做?


答案 1

我可能误解了这个问题,但你可以编译

javac /home/MyJavaFile.java

这将创建MyJavaFile.class/home

然后,可以通过在类路径上包含来运行它。例如:/home

java -cp /home MyJavaFile

如果要在其他目录中生成类文件,则可以使用以下选项。-djavac


答案 2

使用命令行参数 with 告诉它要将编译的类文件存储在哪个目录中。然后,要运行该程序,只需在类路径中包含此目录:-djavac

javac -d some/directory myjavafile.java
java -cp some/directory myjavafile

推荐