java System.getProperty()参数大全

本文详细介绍了使用Java的System.getProperty()方法获取系统属性的参数及其含义。涵盖了Java运行时环境、虚拟机、操作系统及用户相关的核心配置信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java System.getProperty()参数大全java.version Java Runtime Environment version
java.vendor Java Runtime Environment vendor
java.vendor.url Java vendor URL
java.home Java installation directory
java.vm.specification.version Java Virtual Machine specification version
java.vm.specification.vendor Java Virtual Machine specification vendor
java.vm.specification.name Java Virtual Machine specification name
java.vm.version Java Virtual Machine implementation version
java.vm.vendor Java Virtual Machine implementation vendor
java.vm.name Java Virtual Machine implementation name
java.specification.version Java Runtime Environment specification version
java.specification.vendor Java Runtime Environment specification vendor
java.specification.name Java Runtime Environment specification name
java.class.version Java class format version number
java.class.path Java class path
java.library.path List of paths to search when loading libraries
java.io.tmpdir Default temp file path

java.compiler Name of JIT compiler to use
java.ext.dirs Path of extension directory or directories
os.name Operating system name
os.arch Operating system architecture
os.version Operating system version
file.separator File separator (“/” on UNIX) path.separator Path separator (“:” on UNIX)
line.separator Line separator (“\n” on UNIX)
user.name User’s account name
user.home User’s home directory
user.dir User’s current working directory

中文对照:

java.version Java 运行时环境版本

java.vendor Java 运行时环境供应商

java.vendor.url Java 供应商的 URL

java.home Java 安装目录

java.vm.specification.version Java 虚拟机规范版本

java.vm.specification.vendor Java 虚拟机规范供应商

java.vm.specification.name Java 虚拟机规范名称

java.vm.version Java 虚拟机实现版本
java.vm.vendor Java 虚拟机实现供应商

java.vm.name Java 虚拟机实现名称

java.specification.version Java 运行时环境规范版本

java.specification.vendor Java 运行时环境规范供应商

java.specification.name Java 运行时环境规范名称

java.class.version Java 类格式版本号

java.class.path Java 类路径

java.library.path 加载库时搜索的路径列表

java.io.tmpdir 默认的临时文件路径

java.compiler 要使用的 JIT 编译器的名称

java.ext.dirs 一个或多个扩展目录的路径

os.name 操作系统的名称

os.arch 操作系统的架构

os.version 操作系统的版本

file.separator 文件分隔符(在 UNIX 系统中是“/”)

path.separator 路径分隔符(在 UNIX 系统中是“:”)

line.separator 行分隔符(在 UNIX 系统中是“/n”)

user.name 用户的账户名称

user.home 用户的主目录

user.dir 用户的当前工作目录

代码:

public static void main(String[] args) {
System.out.println(“java.version:” + System.getProperty(“java.version”));
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.vm.specification.version:” + System.getProperty(“java.vm.specification.version”));
System.out.println(“java.vm.specification.vendor:” + System.getProperty(“java.vm.specification.vendor”));
System.out.println(“java.vm.specification.name:” + System.getProperty(“java.vm.specification.name”));
System.out.println(“java.vm.version:” + System.getProperty(“java.vm.version”));
System.out.println(“java.vm.vendor:” + System.getProperty(“java.vm.vendor”));
System.out.println(“java.vm.name:” + System.getProperty(“java.vm.name”));
System.out.println(“java.specification.version:” + System.getProperty(“java.specification.version”));
System.out.println(“java.specification.vendor:” + System.getProperty(“java.specification.vendor”));
System.out.println(“java.specification.name:” + System.getProperty(“java.specification.name”));
System.out.println(“java.class.version:” + System.getProperty(“java.class.version”));
System.out.println(“java.class.path:” + System.getProperty(“java.class.path”));
System.out.println(“java.library.path:” + System.getProperty(“java.library.path”));
System.out.println(“java.io.tmpdir:” + System.getProperty(“java.io.tmpdir”));
System.out.println(“java.compiler:” + System.getProperty(“java.compiler”));
System.out.println(“java.ext.dirs:” + System.getProperty(“java.ext.dirs”));
System.out.println(“os.name:” + System.getProperty(“os.name”));
System.out.println(“os.arch:” + System.getProperty(“os.arch”));
System.out.println(“os.version:” + System.getProperty(“os.version”));
System.out.println(“file.separator:” + System.getProperty(“file.separator”));
System.out.println(“line.separator:” + System.getProperty(“line.separator”));
System.out.println(“user.name:” + System.getProperty(“user.name”));
System.out.println(“user.home:” + System.getProperty(“user.home”));
System.out.println(“user.dir:” + System.getProperty(“user.dir”));
}

运行结果:

java.version:1.6.0_02
java.vendor:Sun Microsystems Inc.
java.vendor.url:http://java.sun.com/
java.home:D:\Program Files\Java\jdk1.6.0_02\jre
java.vm.specification.version:1.0
java.vm.specification.vendor:Sun Microsystems Inc.
java.vm.specification.name:Java Virtual Machine Specification
java.vm.version:1.6.0_02-b06
java.vm.vendor:Sun Microsystems Inc.
java.vm.name:Java HotSpot(TM) Client VM
java.specification.version:1.6
java.specification.vendor:Sun Microsystems Inc.
java.specification.name:Java Platform API Specification
java.class.version:50.0
java.class.path:E:\workspace\test\WebRoot\WEB-INF\classes;E:\workspace\test\WebRoot\WEB-INF\lib\activation.jar;

java.library.path:D:\Program Files\Java\jdk1.6.0_02\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\;D:\Program Files\Java\jdk1.6.0_02\bin;C:\Program Files\Common Files\Adobe\AGL;C:\Program Files\SinoVoice\jTTS 5.0 Desktop\Bin;E:\J2EE\plugins\ant\apache-ant-1.7.1\bin;C:\Program Files\CVSNT;C:\Program Files\StormII\Codec;C:\Program Files\StormII
java.io.tmpdir:C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\
java.compiler:null
java.ext.dirs:D:\Program Files\Java\jdk1.6.0_02\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
os.name:Windows 2003
os.arch:x86
os.version:5.2
file.separator:\
line.separator:

user.name:Administrator
user.home:C:\Documents and Settings\Administrator
user.dir:E:\workspace\mvnforum

### 在 Tomcat 中发布 Spring MVC 项目并通过 `System.getProperty` 动态获取指定参数 当在 Tomcat 上部署 Spring MVC 应用时,可以通过 Java 系统属性(`System.setProperty` 和 `System.getProperty`)来递动态参数。这种做法适用于需要跨多个组件共享的全局配置项。以下是实现这一功能的具体方法: --- #### 方法一:通过 JVM 启动参数设置系统属性 Tomcat 支持通过 `-D` 参数为 JVM 设置系统属性。这些属性可以在应用程序中通过 `System.getProperty` 访问。 ##### 步骤说明: 1. **在启动 Tomcat 时设置系统属性** 修改 Tomcat 的启动脚本(如 `bin/catalina.sh` 或 `bin/catalina.bat`),添加自定义的系统属性。例如: ```bash JAVA_OPTS="$JAVA_OPTS -Dcustom.param=value" ``` 2. **在 Spring MVC 应用中读取系统属性** 可以在任何地方使用 `System.getProperty` 来访问该属性。例如: ```java String customParam = System.getProperty("custom.param"); if (customParam != null && !customParam.isEmpty()) { System.out.println("Custom Param Value: " + customParam); } else { System.err.println("Custom param is not set."); } ``` 这种方法的优点是简单易用,并且无需修改应用内部逻辑即可更改参数值[^1]。 --- #### 方法二:通过代码动态设置系统属性 如果不想依赖外部命令行参数,也可以在应用启动阶段通过代码动态设置系统属性。 ##### 示例代码: ```java import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class AppContextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { // 动态设置系统属性 System.setProperty("dynamic.property", "dynamicValue"); // 打印验证 System.out.println("Dynamic Property Set: " + System.getProperty("dynamic.property")); } @Override public void contextDestroyed(ServletContextEvent sce) { // 清理资源(可选) } } ``` 要使监听器生效,还需要在 `web.xml` 文件中注册它: ```xml <listener> <listener-class>com.example.AppContextListener</listener-class> </listener> ``` 此方法允许在不重启服务器的情况下更新部分配置[^2]。 --- #### 方法三:结合 Spring 配置文件与系统属性 对于更复杂的场景,可以将系统属性与其他配置源(如 `.properties` 文件或数据库)结合起来使用。Spring 提供了强大的工具支持此类集成。 ##### 示例配置: 假设有一个名为 `app-config.properties` 的文件,其中包含如下内容: ```properties app.dynamic.value=${dynamic.property:default_value} ``` 然后在 Spring 配置类中引入该文件: ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; @Configuration public class AppConfig { private final Environment env; public AppConfig(Environment env) { this.env = env; } @Bean public String dynamicProperty() { return env.getProperty("app.dynamic.value"); } } ``` 这样做的好处是可以轻松切换不同的配置来源,而不会破坏现有代码结构[^3]。 --- ### 注意事项 - 如果使用的是嵌入式 Tomcat(如 Spring Boot 默认提供的方式),则可以直接通过 `application.properties` 或其他方式设置系统属性。 - 对于生产环境,建议谨慎处理敏感信息(如密码)。最好存储在安全的地方(如密钥管理系统),而不是直接暴露给 JVM 参数。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值