详解Java程序启动时-D指定参数是什么

目录
  • 参数设置
  • 参数获取
    • 测试类
  • 总结

参数设置

java程序启动参数 -D是用来做什么的呢? 官方解释如下:

Set a system property value. If value is a string that contains spaces, you must enclose the string in double quotes:

java -Dfoo="some string" SomeClass

也就是说-D是用来在启动一个java程序时设置系统属性值的。

注意: 如果该值是一个字符串且包含空格,那么需要包在一对双引号中。

参数获取

通过System类中的getProperties()可以获取到设置的系统属性;该方法的返回值类型为String。

测试类

public class Test {

    private static final String ENABLE_MYBATIS_PLUGIN = "ENABLE_MYBATIS_PLUGIN";

    private static String enableMybatisPlugin = System.getProperty(ENABLE_MYBATIS_PLUGIN);

    public static void main(String[] args) {
        System.out.println(enableMybatisPlugin);
    }
}

在运行程序时加上JVM参数-DENABLE_MYBATIS_PLUGIN=true-DENABLE_MYBATIS_PLUGIN=“true”

注意上图设置的是JVM参数而不是program参数。

最后,控制台输出如下:

一点值得注意的是,需要设置的是JVM参数而不是program参数,注意看下图

总结

到此这篇关于Java程序启动时-D指定参数的文章就介绍到这了,更多相关Java启动-D指定参数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java 启动exe程序,传递参数和获取参数操作

    1.java中启动exe程序 ,并添加传参 String[] cmd = {"hh.exe","12315"}; Process process = null; try { ProcessBuilder pb = new ProcessBuilder(); pb.command(cmd); process=pb.start(); } catch (Exception e) { e.printStackTrace(); }finally { if (process !

  • Java如何设置系统参数和运行参数

    系统参数 系统级全局变量,该参数在程序中任何位置都可以访问到.优先级最高,覆盖程序中同名配置. 系统参数的标准格式为:-Dargname=argvalue,多个参数之间用空格隔开,如果参数值中间有空格,则用引号括起来. 其中,参数名可以是 Java 默认的,此类参数由 JVM 虚拟机自动识别并生效,例如,-Dfile.encoding=UTF-8 用于指定文件编码格式:也可以是用户自定义的,例如,-Dmy=user,程序中可以读取该参数值,执行相关逻辑. 虚拟机系统参数中设置的参数键值对,在程序

  • java -jar设置添加启动参数实现方法

    目录 java -jar设置添加启动参数方法 -DpropName=propValue 参数直接跟在命令后面 springboot的方式,--key=value方式 java -jar命令详解 第1种 第2种 第3种 第4种 第5种 总结 java -jar设置添加启动参数方法 java -jar 参数前后位置说明 springboot项目启动的时候可以直接使用java -jar xxx.jar这样.下面说说参数的一些讲究 -DpropName=propValue -DpropName=prop

  • 详解Java程序启动时-D指定参数是什么

    目录 参数设置 参数获取 测试类 总结 参数设置 java程序启动参数 -D是用来做什么的呢? 官方解释如下: Set a system property value. If value is a string that contains spaces, you must enclose the string in double quotes: java -Dfoo="some string" SomeClass 也就是说-D是用来在启动一个java程序时设置系统属性值的. 注意: 如

  • 详解SpringBoot配置文件启动时动态配置参数方法

    序言 当我们要同时启用多个项目而又要使用不同端口或者变换配置属性时,我们可以在配置文件中设置${变量名}的变量来获取启动时传入的参数,从而实现了动态配置参数,使启用项目更加灵活 例子 server: port: ${PORT:50101} #服务端口 spring: application: name: xc‐govern‐center #指定服务名 eureka: client: registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中 fetchReg

  • 详解SpringBoot程序启动时执行初始化代码

    因项目集成了Redis缓存部分数据,需要在程序启动时将数据加载到Redis中,即初始化数据到Redis. 在SpringBoot项目下,即在容器初始化完毕后执行我们自己的初始化代码. 第一步:创建实现ApplicationListener接口的类 package com.stone; import com.stone.service.IPermissionService; import org.springframework.context.ApplicationListener; import

  • 详解Java程序读取properties配置文件的方法

    在我们平时写程序的时候,有些参数是经常改变的,而这种改变不是我们预知的.比如说我们开发了一个操作数据库的模块,在开发的时候我们连接本地的数据库那么IP ,数据库名称,表名称,数据库主机等信息是我们本地的,要使得这个操作数据的模块具有通用性,那么以上信息就不能写死在程序里.通常我们的做法是用配置文件来解决. 各种语言都有自己所支持的配置文件类型.比如Python ,他支持.ini 文件.因为他内部有一个ConfigParser 类来支持.ini 文件的读写,根据该类提供的方法程序员可以自由的来操作

  • 详解Java程序并发的Wait-Notify机制

    Wait-Notify场景 典型的Wait-Notify场景一般与以下两个内容相关: 1. 状态变量(State Variable) 当线程需要wait的时候,总是因为一些条件得不到满足导致的.例如往队列里填充数据,当队列元素已经满时,线程就需要wait停止运行.当队列元素有空缺时,再继续自己的执行. 2. 条件断言(Condition Predicate) 当线程确定是否进入wait或者是从notify醒来的时候是否继续往下执行,大部分都要测试状态条件是否满足.例如,往队列里添加元素,队列已满

  • java如何实现项目启动时执行指定方法

    本文实例为大家分享了java项目启动时执行指定方法,供大家参考,具体内容如下 想到的就是监听步骤如下: 1.配置web.xml <listener> <listener-class>com.listener.InitListener</listener-class> </listener> 2.编写InitListener类 package com.listener; import java.io.File; import javax.servlet.Ser

  • 详解Java虚拟机管理的内存运行时数据区域

    详解Java虚拟机管理的内存运行时数据区域 概述 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁. 程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器.在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基

  • 详解Java子线程异常时主线程事务如何回滚

    一.提出问题 最近有一位朋友问了我这样一个问题,问题的截图如下: 这个问题问的相对比较笼统,我来稍微详细的描述下:主线程向线程池提交了一个任务,如果执行这个任务过程中发生了异常,如何让主线程捕获到该异常并且进行事务的回滚. 二.主线程与子线程 先来看看基础,下图体现了两种线程的运行方式, 左侧的图,体现了主线程启动一个子线程之后,二者互不干扰独立运行,生死有命,从此你我是路人! 右侧的图,体现了主线程启动一个子线程之后继续执行主线程程序逻辑,在某一节点通过阻塞的方式来获取子线程的执行结果. 对于

  • hadoop运行java程序(jar包)并运行时动态指定参数

    1)首先启动hadoop2个进程,进入hadoop/sbin目录下,依次启动如下命令 [root@node02 sbin]# pwd /usr/server/hadoop/hadoop-2.7.0/sbin sh start-dfs.sh sh start-yarn.sh jps 2)通过jps查看是否正确启动,确保启动如下6个程序 [root@node02 sbin]# jps 10096 DataNode 6952 NodeManager 9962 NameNode 10269 Second

  • 详解Java编写并运行spark应用程序的方法

    我们首先提出这样一个简单的需求: 现在要分析某网站的访问日志信息,统计来自不同IP的用户访问的次数,从而通过Geo信息来获得来访用户所在国家地区分布状况.这里我拿我网站的日志记录行示例,如下所示: 121.205.198.92 - - [21/Feb/2014:00:00:07 +0800] "GET /archives/417.html HTTP/1.1" 200 11465 "http://shiyanjun.cn/archives/417.html/" &qu

随机推荐