ローカル システムでコマンドを実行している 2 つの Java クラスがあります。私の開発システムは Mac、QA システムは Windows、製品システムは UNIX です。したがって、それぞれに異なるコマンドがあります。現時点では、違いをコメント/コメント解除する必要があります。両方のクラスは、実行可能ファイルとコマンドで同じ構造になっています。これが私が持っているものです。
// Linux (QA/Prod)
final String executable = "/user1/Project/Manufacturer/CommandCLI";
// final String executable = "cat"; // Mac Dev
// final String executable = "cmd"; // Windows QA
final String command = "getarray model=" + model + " serialnum=" + serialnum;
// Windows QA(local laptop)
//final String command = "/C c:/Manufacturer/CommandCLI.bat getarray model=" + model + " serialnum=" + serialnum;
//Mac Dev
// final String command = "/TestData/" + computer.getId() + ".xml"
ご覧のとおり、環境に応じてコメントを付けたりコメントを外したりしています。私の主な懸念の 1 つは、モデルと serialnum 変数に依存していることです。それを何らかの方法でプロパティに挿入できるかどうかはわかりません (model と serialnum はメソッド呼び出しで指定されます)。
Maven を使用しているため、「mvn clean package」中に -P フラグを追加してプロパティ ファイルを指定します。
これを処理するエレガントな方法は何ですか?