Spring启动如何从空间命令行接收param值?

时间:2016-05-12 13:18:54

标签: spring-boot

Spring boot如何从空间命令行接收param?

@Value("${paramJson}")
private String paramJson ;

@Override
public void run(String... arg0) throws Exception {
    System.out.println(paramJson);
}

./target/spring-boot-foo-0.0.1-SNAPSHOT.jar --paramJson="{price: 30}"

输出{price:

因此,如果命令参数值有空格,如何正确接收它?

1 个答案:

答案 0 :(得分:0)

脚本中的a bug是Spring Boot预装到完全可执行的jar文件的。这个错误导致它错误处理引用的参数。只有直接执行jar时才会出现此问题。如果它是通过init.d作为服务启动的,则可以正确处理引用的参数。

您有几个选择:

  1. 使用java -jar
  2. 运行应用程序
  3. 将应用程序安装为init.d服务
  4. 等待包含问题修复的Spring Boot 1.3.6.RELEASE
  5. 使用custom launch script并自行更正问题