我正在编写一个makefile,它编译一个.java不同目录中的文件,然后我想运行它,而不更改目录.我想做一些事情:
$(SQM_JAVA_TOOL_DONE) : $(SQM_JAVA_TOOL)
$(shell cd /home_dir)
javac myjavafile.java
java myjavafile
Run Code Online (Sandbox Code Playgroud)
Java文件所在的位置/home/myjavafile.java,并且未运行makefile /home.
我怎样才能做到这一点?
mik*_*kej 37
我可能误解了这个问题,但你可以编译
javac /home/MyJavaFile.java
Run Code Online (Sandbox Code Playgroud)
这将创建MyJavaFile.class在/home
然后,您可以通过/home在类路径中包含它来运行它.例如
java -cp /home MyJavaFile
Run Code Online (Sandbox Code Playgroud)
如果要在不同的目录中生成类文件,则可以使用-d选项to javac.
Mic*_*ael 34
使用-d命令行参数javac来告诉它您要将编译的类文件存储在哪个目录中.然后,要运行该程序,只需在classpath中包含此目录:
javac -d some/directory myjavafile.java
java -cp some/directory myjavafile
Run Code Online (Sandbox Code Playgroud)