介绍Java -D 命令行参数

我们在ide中执行程序经常需要设置VM参数,运行maven命令也需要设置参数,都是通过-D设置参数值。本文带你了解-D命令行参数。

1. 什么是Java -D命令行参数

参考官方文档的描述:
语法:-Dproperty=value

设置系统属性值。如果字符串包括空格,则必须使用双引号括起来。如:java -Dfoo=“some string”

-D是用于设置环境属性值的重要方式。JVM运行时包括很多系统属性,我们可以通过-D选项配置系统属性,并在D后面紧接着属性名称和等号,然后是分配给属性的值。例如,设置Java运行时文件编码属性为utf-8,您可以设置以下属性:

java -Dfile.encoding=utf-8

然后通过下面代码获取其值:System.getProperty("file.encoding");

需要提醒的是一定是大写字母D。java以及设置了一些默认属性,如:file.encoding, file.separator, java.home and java.version等。

2. 设置命令行参数示例

前面以及说了如何设置并获取参数,下面通过示例进一步说明。

public class Greeting{public static void main(String[] args) {String property = "hello";String value = System.getProperty(property);System.out.println(property + "=" + Objects.toString(value, "未设置参数"));}
}

这里使用Objects.toString方法获取默认值,下面在命令行下编译运行:

javac Greeting.java
java -Dhello=world Greeting

输出结果为:

hello=world

当然也可以在IDE中直接通过vm设置值。

3. 设置多个属性值

语法:

java -Darg1=foo1 -Darg2=foo2 -Darg3=foo3 com.MyClass

参数都是文本,也可以一次性设置:

java -Darg=key1:val1,key2:val2,key3:val3 com.MyClass

那么需要自己进行解析key1:val1,key2:val2,key3:val3

4. 总结

本文介绍了Java -D 命令行参数。通过示例介绍如何设置、获取参数值。

介绍Java -D 命令行参数相关推荐

  1. java main命令行参数_java使用命令行参数

    有时你想在运行程序时将信息传递到一个程序中.这通过将命令行参数(command-line arguments )传递给main() 来实现.命令行参数是程序执行时在命令行中紧跟在程序名后的信息.在Ja ...

  2. java 接收命令行参数_java中的命令行参数_Java中的命令行参数

    java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...

  3. Java程序命令行参数总结

    前言: 在命令行中输入可以输入各类参数,本文将针对这些参数做一个小结. 基于命令行输入参数 测试程序如下: import java.util.Arrays; public class Main {pu ...

  4. c 运行 java linux命令行参数,Linux下用命令行编译运行Java总结

    最近使用腾讯云的Cloud Studio写Java,只能使用命令行进行编译运行,趁此机会,学习一下Linux的一些常用命令.平时windows下IDE用习惯了,现在用命令行进行编译运行,发现其实问题还 ...

  5. Python命令行参数解析模块getopt使用实例

    这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式.短选项参数实例.长选项参数实例等内容,需要的朋友可以参考下 格式 getopt(args, options ...

  6. python getopt使用_Python命令行参数解析模块getopt使用实例

    这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式.短选项参数实例.长选项参数实例等内容,需要的朋友可以参考下 格式 getopt(args, options ...

  7. Chrome和Firefox的命令行参数

    使用Selenium由于是基于浏览器的操作,所以了解浏览器的命令行参数( Command line switches)非常重要,例如:在使用Selenium的时候,设置Chrome的调试端口.用户数据 ...

  8. java命令行参数工具_Java方法中的参数太多,第8部分:工具

    java命令行参数工具 在我的系列文章的前七篇文章中,有关处理Java方法中期望的参数过多的内容集中在减少方法或构造函数期望的参数数量的替代方法上. 在本系列的第八篇文章中,我将介绍一些工具,这些工具 ...

  9. Java 命令行参数[猿教程]

    https://yuanjiaoc.com/tutorial/article/10188 介绍 从命令行中使用参数运行应用程序是很常见的.特别是在服务器端.通常情况下,我们不希望应用程序在每次运行时都 ...

最新文章

  1. 我的人生,需要一个计划
  2. iOS iOS-System-Services(系统信息)
  3. VTK:可视化算法之LOxGrid
  4. python适配器模式角色_Python设计模式之适配器模式原理与用法详解
  5. Tomcat 7.0 servlet @WebServlet
  6. 也谈大公司病1——正确是最大的错误
  7. LVCOLUMN和LVITEM结构体解析
  8. $().index() 两种用法
  9. 安全secuerity证券
  10. 记录自己的CAN学习过程(念念不忘,必有回响)
  11. SpringOAuth2-启动网关Factory method ‘jwtTokenEnhancer‘ threw exception;
  12. Zabbix_agent的主动式和被动式
  13. 工作中常见的网络设备图片
  14. 用python画星空图教程水粉_水粉画教程:水粉画星空教程图解
  15. BAPI_ACC_DOCUMENT_CHECK BAPI_ACC_DOCUMENT_POST BAPI_TRANSACTION_COMMIT
  16. 第二节 数据CRUD操作与连接查询和子查询(包含练习)
  17. 【社区周会】2021-06-08 内容概要
  18. 5000万存银行,一年利息够不够花呢?
  19. 大数据好学么?具体学什么?
  20. 《Java核心卷 I》第10版阅读笔记第八章(书第九章)

热门文章

  1. Java开源 Web开发框架 (一)
  2. Retrofit 2.0 超能实践(一),okHttp完美支持Https传输
  3. 如何优雅的使用DbContext
  4. Linux 下录屏制作 GIF 图片
  5. Linux系统cut命令详解
  6. 非煤矿山生产安全事故应急预案
  7. 计算机培训通讯报道,新员工培训通讯稿3篇
  8. 基于Linux环境中C语言程序----Hello World
  9. ConsenSys 产品ConsenSys Quorum
  10. DataBinding 大坑总结(网上我暂时搜不到解决方法)