springboot项目启动的时候可以直接使用java -jar xxx.jar这样。下面说说参数的一些讲究
1.-DpropName=propValue的形式携带,要放在-jar参数前面
eg:java -Dxxx=test -DprocessType=1 -jar xxx.jar
取值:System.getProperty("propName")
2.参数直接跟在命令后面
eg:java -jar xxx.jar processType=1 processType2=2
取值:参数就是jar包里主启动类中main方法的args参数,按顺序来
3.springboot的方式,--key=value方式
eg:java -jar xxx.jar --xxx=test
取值:spring的@value("${xxx}")
或者: CommandLineRunner中获取命令行参数,可以通过使用ApplicationArguments类来实现,代码如下:
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
@Component
public class MyCommandLineRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
// 从args对象中获取命令行参数
String[] sourceArgs = args.getSourceArgs();
for (String arg : sourceArgs) {
System.out.println("Argument: " + arg);
}
}
}