Java / コマンドライン / コンパイルと実行

要約
以下の手順で開発・コンパイル・実行することにより、コンパイル時間を長くすることなく、ライブラリの依存関係を処理し、実行時のclasspath指定の煩雑さも解消される.

(1) Eclipseでm2eclipseを使って（すなわちmavenでプロジェクトを管理）プログラムを開発.
 * $HOME/workspaceの下にプロジェクトが置かれる.

(2) javac.plでコンパイルし、java_ex.plで実行する.
 * java_ex.plは実行時のclasspathをmavenのmvn dependency:build-classpathを使って自動的に作成する.
 * java_ex.plは、classpathの作成時間を短縮するために前回作成したclasspathを/tmp/java_ex_cpFile.txtに記憶している. classpathはプロジェクトごとに作られる. classpathを再計算したければこのファイルを消せばよい.

使用例は以下の通り. ($HOME/workspace/worlddb2をコンパイルして実行する例)

nohupを用いたジョブの実行と実行状況の記録
リモートで長時間かかるジョブを実行するときsshが切れてしまうとプロセスも途中で止まってしまう. nohupを使って避けるわけだが、実行が終わったかどうかやエラーの補足のために実行ログの記録が取りたい.

この目的で以下のスクリプトを使う. お手軽版. job.pl command
 * nohupを使って実行されるので、回線が切れてもプロセスが止まってしまうことはない.
 * job_pl_開始日時.logという名前のログファイルがカレントディレクトリに出力される.

ログファイルの例