代码改变世界

Java 设置系统参数和运行参数

2020-04-23 17:29  小伍2013  阅读(7716)  评论(0编辑  收藏  举报

系统参数

系统级全局变量,该参数在程序中任何位置都可以访问到。优先级最高,覆盖程序中同名配置。

系统参数的标准格式为:-Dargname=argvalue,多个参数之间用空格隔开,如果参数值中间有空格,则用引号括起来。

其中,参数名可以是 Java 默认的,此类参数由 JVM 虚拟机自动识别并生效,例如,-Dfile.encoding=UTF-8 用于指定文件编码格式;也可以是用户自定义的,例如,-Dmy=user,程序中可以读取该参数值,执行相关逻辑。

虚拟机系统参数中设置的参数键值对,在程序中可以用 System.getProperty("propertyName") 获取对应参数值。

public static void main(String[] args) {
    String result = System.getProperty("argname");
    System.out.println("argname: " + result);
}

运行参数

main 方法执行时传入的参数值,如果参数有多个,用空格分开。

main 方法的一般格式为:public static void main(String[] args),其中,Stringp[] args 就是存储运行参数的变量,在程序中可以直接使用。

public static void main(String[] args) {
    if (args.length > 0) {
        for (int i = 0; i < args.length; i++) {
        	System.out.println("第" + i + "个参数为: " + args[i]);
        }
    }
}

命令行中的参数设置

java 命令的基本格式为 java [-options] class [args...],其中:

[-options] 配置 Java 系统参数

[args…] 配置 Java 运行参数

示例:java -Dfile.encoding=UTF-8 -Dargname=argvalue Test hi a b c d

IDEA 中的参数设置

Run- Edit Configurations... - Spring Boot - App - Configuration - Environment

VM options: 设置系统参数

Program arguments: 设置运行参数