【README】

本文主要介绍java运行环境变量的获取,如何读取 env.properties 文件并将自定义变量写入到系统变量;


【1】System.getenv() 获取环境变量

public static void main1() {Map<String, String> envMap = System.getenv();envMap.entrySet().forEach(x-> System.out.println(x.getKey() + "=" + x.getValue()));}

System.getenv() 获取的是操作系统环境变量列表,如下:


【2】 System.getProperties()获取java运行时环境变量

 public static void main2() {Properties props = System.getProperties();props.list(System.out);}
-- listing properties --
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=D:\Java\jdk1.8.0_172\jre\bin
java.vm.version=25.172-b11
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
path.separator=;
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.script=
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=D:\bench-cluster\spring_in_action_ecl...
java.runtime.version=1.8.0_172-b11
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=D:\Java\jdk1.8.0_172\jre\lib\endorsed
os.arch=amd64
java.io.tmpdir=C:\Users\zhangsan\AppData\Local\Temp\
line.separator=java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 10
sun.jnu.encoding=GBK
java.library.path=D:\Java\jdk1.8.0_172\bin;C:\WINDOWS\S...
java.specification.name=Java Platform API Specification
java.class.version=52.0
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=10.0
user.home=C:\Users\zhangsan
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=UTF-8
java.specification.version=1.8
user.name=zhangsan
java.class.path=D:\Java\jdk1.8.0_172\jre\lib\charsets...
java.vm.specification.version=1.8
sun.arch.data.model=64
java.home=D:\Java\jdk1.8.0_172\jre
sun.java.command=com.swjtu.mybatis.main.Main2
java.specification.vendor=Oracle Corporation
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.8.0_172
java.ext.dirs=D:\Java\jdk1.8.0_172\jre\lib\ext;C:\W...
sun.boot.class.path=D:\Java\jdk1.8.0_172\jre\lib\resource...
java.vendor=Oracle Corporation
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=amd64zheshi 

【3】自定义变量

1)新建 env.properties 文件, 填写变量

2)读取 自定义变量文件,env.properties 文件;

// 自定义变量public static void main3() {Properties envProps = new Properties();try {// 使用 mybatis Resources工具读取环境属性文件envProps.load(Resources.getResourceAsStream("env.properties"));} catch (IOException e) {}// 把自定义变量填充到系统变量 SystemPropertiesenvProps.stringPropertyNames().forEach(x->{System.getProperties().setProperty(x, envProps.getProperty(x));});System.out.println(System.getenv());System.getProperties().list(System.out);}

【4】几个常用系统变量

Properties sysProps = System.getProperties();
System.out.println("user.dir=" + sysProps.getProperty("user.dir"));
System.out.println("java.class.path=" + sysProps.getProperty("java.class.path"));
System.out.println("sun.java.command=" + sysProps.getProperty("sun.java.command"));
System.out.println("file.separator=" + sysProps.getProperty("file.separator"));
System.out.println("file.encoding=" + sysProps.getProperty("file.encoding"));
user.dir=D:\bench-cluster\spring_in_action_eclipse\MybatisHello3_mapper
java.class.path=D:\Java\jdk1.8.0_172\jre\lib\charsets.jar;D:\Java\jdk1.8.0_172\jre\lib\deploy.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\access-bridge-64.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\cldrdata.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\dnsns.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\jaccess.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\jfxrt.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\localedata.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\nashorn.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\sunec.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\sunjce_provider.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\sunmscapi.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\sunpkcs11.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\zipfs.jar;D:\Java\jdk1.8.0_172\jre\lib\javaws.jar;D:\Java\jdk1.8.0_172\jre\lib\jce.jar;D:\Java\jdk1.8.0_172\jre\lib\jfr.jar;D:\Java\jdk1.8.0_172\jre\lib\jfxswt.jar;D:\Java\jdk1.8.0_172\jre\lib\jsse.jar;D:\Java\jdk1.8.0_172\jre\lib\management-agent.jar;D:\Java\jdk1.8.0_172\jre\lib\plugin.jar;D:\Java\jdk1.8.0_172\jre\lib\resources.jar;D:\Java\jdk1.8.0_172\jre\lib\rt.jar;D:\bench-cluster\spring_in_action_eclipse\MybatisHello3_mapper\target\classes;D:\software_cluster\mvn_repo\.m2\repository\org\mybatis\mybatis\3.4.1\mybatis-3.4.1.jar;D:\software_cluster\mvn_repo\.m2\repository\mysql\mysql-connector-java\8.0.11\mysql-connector-java-8.0.11.jar;D:\software_cluster\mvn_repo\.m2\repository\com\google\protobuf\protobuf-java\2.6.0\protobuf-java-2.6.0.jar;D:\software_cluster\mvn_repo\.m2\repository\org\apache\logging\log4j\log4j-core\2.11.0\log4j-core-2.11.0.jar;D:\software_cluster\mvn_repo\.m2\repository\org\apache\logging\log4j\log4j-api\2.11.0\log4j-api-2.11.0.jar;D:\Program Files\IntelliJ IDEA 2021.1\lib\idea_rt.jar
sun.java.command=com.swjtu.mybatis.main.Main2
file.separator=\
file.encoding=UTF-8

1)常用系统变量列表

  1. user.dir ,当前项目根目录;
  2. java.class.path ,java运行时环境路径;
  3. sum.java.command , 主程序所在类的全限定类名;
  4. file.separator, 文件路径分隔符;
  5. file.encoding,文件编码;

其中 file.encoding 是通过jvm运行时参数指定的, vm 参数如下:

D:\Java\jdk1.8.0_172\bin\java.exe "-javaagent:D:\Program Files\IntelliJ IDEA 2021.1\lib\idea_rt.jar=49223:D:\Program Files\IntelliJ IDEA 2021.1\bin" -Dfile.encoding=UTF-8 -classpath D:\Java\jdk1.8.0_172\jre\lib\charsets.jar;D:\Java\jdk1.8.0_172\jre\lib\deploy.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\access-bridge-64.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\cldrdata.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\dnsns.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\jaccess.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\jfxrt.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\localedata.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\nashorn.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\sunec.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\sunjce_provider.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\sunmscapi.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\sunpkcs11.jar;D:\Java\jdk1.8.0_172\jre\lib\ext\zipfs.jar;D:\Java\jdk1.8.0_172\jre\lib\javaws.jar;D:\Java\jdk1.8.0_172\jre\lib\jce.jar;D:\Java\jdk1.8.0_172\jre\lib\jfr.jar;D:\Java\jdk1.8.0_172\jre\lib\jfxswt.jar;D:\Java\jdk1.8.0_172\jre\lib\jsse.jar;D:\Java\jdk1.8.0_172\jre\lib\management-agent.jar;D:\Java\jdk1.8.0_172\jre\lib\plugin.jar;D:\Java\jdk1.8.0_172\jre\lib\resources.jar;D:\Java\jdk1.8.0_172\jre\lib\rt.jar;D:\bench-cluster\spring_in_action_eclipse\MybatisHello3_mapper\target\classes;D:\software_cluster\mvn_repo\.m2\repository\org\mybatis\mybatis\3.4.1\mybatis-3.4.1.jar;D:\software_cluster\mvn_repo\.m2\repository\mysql\mysql-connector-java\8.0.11\mysql-connector-java-8.0.11.jar;D:\software_cluster\mvn_repo\.m2\repository\com\google\protobuf\protobuf-java\2.6.0\protobuf-java-2.6.0.jar;D:\software_cluster\mvn_repo\.m2\repository\org\apache\logging\log4j\log4j-core\2.11.0\log4j-core-2.11.0.jar;D:\software_cluster\mvn_repo\.m2\repository\org\apache\logging\log4j\log4j-api\2.11.0\log4j-api-2.11.0.jar com.swjtu.mybatis.main.Main2

即通过 -Dfile.encoding=UTF-8 指定的jvm参数,可以通过 System.getProperties() 获取到;

java运行环境变量及自定义变量相关推荐

  1. java开发环境怎么写_Java开发基础设置:如何配置Java运行环境

    很多朋友都有自学Java的愿望,但是自学一门语言何其艰难,没人指引的话往往不得其门而入.那么,今天千锋老师就给大家带来Java入门课程中配置Java运行环境的方法,希望能够对大家有所帮助. 一.JDK ...

  2. java运行环境_Windows系统java运行环境配置 | 吴文辉博客

    在进行java开发之前,我们最重要的步骤就是如何获取JDK版本及正确的安装.配置java环境.只有正确的安装了java运行环境,才能继续java的学习和实践. 一.下载JDK安装 1.我系统是win7 ...

  3. 安装JDK以及配置Java运行环境

    安装JDK以及配置Java运行环境 1.JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2 ...

  4. 安装jre运行环境_如何下载安装java运行环境jre

    如果你只需要运行Java程序或Applet,下载并安装它即可.如果你要自行开发Java软件,请下载JDK.在JDK中附带有JRE.注意由于Microsoft对Java的支持不完全,请不. . Java ...

  5. 下载安装Java运行环境

    安装Java运行环境 Java 是一种并发.基于类.面向对象.尽可能独立的通用程序设计语言,旨在让应用程序开发人员WORA (Write Once,Run Anywhere,编写一次,到处运行),即在 ...

  6. 学习安装java运行环境

    提示:学习安装java运行环境 文章目录 安装JDK 一.配置windows环境变量. 1.配置环境变量 2. 配置path 3.测试JDK是否安装成功 总结 安装JDK 提示:由于JDK8为大部份公 ...

  7. 【关于Citespace和JRE(JAVA运行环境)的详细安装教程】

    关于Citespace和JRE(JAVA运行环境)的详细安装教程 想要运行Citespace, 先搭建JRE运行环境 1. JRE运行环境 1.Java中JDK包含JRE(即占内存更多),若只用Cit ...

  8. Sublime配置java运行环境(IntelliJ IDEA也许更好用)

    主博客里有Sublime的安装以及Sublime其他环境配置 文章目录 5. Sublime配置java运行环境 5.1 java jdk配置环境 5.2 Sublime里配置java(两种方法,可以 ...

  9. 一、java运行环境配置

    文章目录 前言 一.Java 重要特点 二.Java 运行机制及运行过程 1.Java 语言的特点:跨平台性 2.Java 核心机制-Java 虚拟机 [JVM java virtual machin ...

最新文章

  1. Shiny平台构建与R包开发
  2. 3.Python算法之贪心算法思想
  3. 西华大学计算机学院陈鹏,中国计算机学会CCF服务计算专委会走进西华大学
  4. Pycharm的远程代码编辑
  5. [转载]Manually configuring Microsoft Internet Information Services (IIS)
  6. Django中的ORM进阶操作
  7. 互联网搜索的哪些环节 机器学习_什么是机器学习?有哪些分类?到底有什么用?终于有人讲明白了...
  8. unity的函数生命周期
  9. 灰度测试或 AB 测试
  10. 互联网黑暗森林法则:想活?别喘气儿!
  11. 造价员容易漏算的100项内容
  12. 《2022中国企业数智化转型升级服务全景图/产业图谱1.0版》重磅发布
  13. 解决ModuleNotFoundError: No module named ‘celery.five‘的问题
  14. php 查找 中文,PHP查找中文字符的解决方案
  15. C# Speech学习笔记(一)
  16. 做SEO优化第十一步:如何设置外部链接优化
  17. 买二手房不用愁,Python爬虫一键爬取海量二手房源,分分钟找到心仪房子!【附源码】
  18. python汉语词典_Python 字典(Dictionary)
  19. 大家好,给大家介绍一下,这是乔布斯
  20. 计算机还硬盘后怎么兼容,电脑升级ssd固态硬盘后为什么还是卡?老电脑升级固态硬盘注意事项详解...

热门文章

  1. LuoguP4606 [SDOI2018]战略游戏
  2. P2305 [NOI2014]购票
  3. 2011年全国大学生程序设计邀请赛(福州)
  4. P5748-集合划分计数【EGF,多项式exp】
  5. jzoj3853-帮助Bsny【dp】
  6. jzoj6313-Maja【dp】
  7. P1407-[国家集训队]稳定婚姻【tarjan,强连通分量】
  8. POJ3614,P2887-Sunscreen(防晒霜)【贪心】
  9. ssl1613-最短路径问题【图论,最短路径(还不明显?)】
  10. codeforces1554 E. You(思维+数学+转化)