eclipse中Program arguments和VM arguments的区别

在开发时,有时候可能需要根据不同的环境设置不同的系统参数,我们都知道,在使用java -jar命令时可以使用-D参数来设置运行时的系统变量,同样,在Eclipse中运行java程序时我们怎么设置该系统变量呢?

另外,如果我们的程序需要输入运行参数,在Eclipse中如何配置?具体步骤为:

在要运行的类上右键点击Run As–>Run Configurations…
在弹出界面中点击Arguments

这里写图片描述

/** 
 * 通过Run Configurations(Debug Configurations)->Arguments里填写program arguments和VM arguments 
 * 参数之间用空格隔开,其本质类似于执行命令 
 * java -DvmParam1=vmParam1 -DvmParam2=vmParam2 TestArgsInputParam 1 2  
 * program arguments存储在String[] args里 
 * VM arguments设置的是虚拟机的属性,要传给java虚拟机的。KV形式存储的,通过System.getProperty("PropertyName")获取 
 */  
public class TestArgsInputParam {  

    public static void main(String[] args) throws Exception {
        System.out.println("program arguments:");
        if (args.length == 0) {  
            System.out.println("您调用main方法时没有指定任何参数!");  
            return;  
        }  
        System.out.println("您调用main方法时指定的参数包括:");  
        for (int i = 0; i < args.length; i++) {  
            System.out.println("参数" + (i + 1) + "的值为:" + args[i]);  
        }

        System.out.println("VM arguments:");
        String vmParam1 = "vmParam1";
        String vmParam2 = "vmParam2";
        System.out.println("\tName:" + vmParam1 + ",Value:" + System.getProperty(vmParam1));
        System.out.println("\tName:" + vmParam2 + ",Value:" + System.getProperty(vmParam2));

        System.out.println("Default VM arguments:");
        System.out.println("java_vendor:" + System.getProperty("java.vendor"));
        System.out.println("java_vendor_url:" + System.getProperty("java.vendor.url"));
        System.out.println("java_home:" + System.getProperty("java.home"));
        System.out.println("java_class_version:" + System.getProperty("java.class.version"));
        System.out.println("java_class_path:" + System.getProperty("java.class.path"));
    }
}  

program arguments中的值作为args[]的参数传入的,而VM Arguments是设置的虚拟机的属性。
program arguments是要传给你的应用程序的,它通过主函数中的args来传值。VM arguments是系统的属性,要传给java虚拟机的。

1.其中Program arguments栏里可以输入程序运行所需的参数,也就是main方法的参数,如果参数为多个,则用空格分开。

2.VM arguments里接收的是系统变量参数,系统变量输入格式为:-Dargname=argvalue,同样,多个参数之间用空格隔开。另外如果参数值中间有空格,则用引号括起来

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值