別のディレクトリで.Java
ファイルをコンパイルするmakefileを書いているのですが、ディレクトリを変更せずに実行したいです。私は次のラインに沿って何かをしたいです:
$(SQM_Java_TOOL_DONE) : $(SQM_Java_TOOL)
$(Shell cd /home_dir)
javac myjavafile.Java
Java myjavafile
ここで、Javaファイルは/home/myjavafile.Java
であり、makefileは/home
から実行されていません。
これどうやってするの?
私は質問を誤解しているかもしれませんが、あなたは
javac /home/MyJavaFile.Java
これにより、MyJavaFile.class
に/home
が作成されます
その後、クラスパスに/home
を含めることで実行できます。例えば.
Java -cp /home MyJavaFile
別のディレクトリでクラスファイルを生成する場合は、javac
に-d
オプションを使用できます。
使用 -d
コマンドラインパラメータにjavac
を指定して、コンパイル済みクラスファイルを保存するディレクトリを指定します。次に、プログラムを実行するには、このディレクトリをクラスパスに含めます。
javac -d some/directory myjavafile.Java
java -cp some/directory myjavafile