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

新手上路,请多包涵

我正在编写一个编译文件 .java 不同目录中的文件,然后我想运行它,而不更改目录。我想按照以下方式做一些事情:

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

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

我怎样才能做到这一点?

原文由 vette982 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 410
2 个回答

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

javac /home/MyJavaFile.java

这将在 MyJavaFile.class /home

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

java -cp /home MyJavaFile

如果你想在不同的目录中生成类文件,那么你可以使用 -d 选项 javac

原文由 mikej 发布,翻译遵循 CC BY-SA 2.5 许可协议

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

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

原文由 Michael 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题