この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
更新日時:2026-05-15 03:52:15
タイトル: jarの引数を受け取る方法
SEOタイトル: 【Spring Boot】jarの引数(パラメーター)を受け取る方法
| この記事の要点 |
- Spring Boot でjar 起動時の引数(コマンドライン引数 / プロパティ)を受け取る方法
- 基本:
java -jar app.jar --app.mode=production
- 受け取り:
@Value("${app.mode}") でフィールドに注入
@ConfigurationProperties でプロパティクラスにまとめる方法も推奨
|
プロパティクラスの作成
|
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class AppProperties {
@Value("${app.mode:A}")
private String mode;
public String getMode() {
return mode;
}
public void setMode(String mode) {
this.mode = mode;
}
}
|
上記の例では@Valueに定義したapp.modeをパラメータとして渡すことでmode変数に値が格納される。
コロンの次にデフォルト値を指定することができる。
パラメータを渡してjarを実行
|
java -jar test.jar --app.mode=B
|
パラメータの確認用のサンプルコード
|
import org.apache.log4j.Logger;
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@EnableBatchProcessing
public class TestApp implements CommandLineRunner{
private static Logger log = Logger.getLogger(TestApp.class);
@Autowired
AppProperties appProperties;
public static void main(String[] args) {
SpringApplication.run(TestApp.class, args);
}
@Override
public void run(String... args) throws Exception {
log.info("AppPoroperties.mode: " + appProperties.getMode());
}
}
|
出力結果