java -jar foobar.jar --arg1=true --arg2=false
なんてことをすることはよくあると思うんですが、arg1の値を使いたいとかのときは、
mainメソッドからだと、当然、public static void main(String.. args) {}のargsから取れるわけです。
じゃあ、mainメソッド以外から取り出すときに、よい取り出し方ってどうなんだろうと小一時間探してみたんですが、イマイチ見つからず、結果的にこんな感じで取り出してみました。
String command = System.getProperty("sun.java.command");
String[] args = command.split(" ", 0);
ほかにあったりしないのかな ( ´ー`)フゥー...
追記
ちなみに、Springの場合だと、
ConfigurableApplicationContext ctx = //どこかからapplicationContext取得
ConfigurableEnvironment ce = ctx.getEnvironment();
String arg = ce.getProperty("arg1");
とかでもいけます。
0 件のコメント:
コメントを投稿