全局设置 JVM 的属性
Globally setting properties for JVM
是否有任何方法可以设置适用于所有 java 进程的特定属性(java.exe
,javaw.exe
for windows)运行那台机器?
更清楚地假设我想使用特定时区应用于该机器中的所有 java 进程 运行(不更改系统时区)。
我知道我们可以将它作为 -D
参数传递,但它仅适用于 java 进程 right.But 我以另一种方式需要它 - 对于每个 java 进程开始。
有什么办法吗?
尝试使用 Java 8:
您可以使用环境变量_JAVA_OPTIONS
为java.exe
和javaw.exe
指定默认参数,例如
C:> set _JAVA_OPTIONS=-Dfile.encoding=UTF-8
javaw
的快速粗略测试:
package com.example;
import javax.swing.JFrame;
import javax.swing.JTextPane;
public class PropertyTest {
public static void main(String[] args) {
String value = (String) System.getProperties().get("file.encoding");
JTextPane txt = new JTextPane();
txt.setText(value);
JFrame main = new JFrame();
main.add(txt);
main.setVisible(true);
}
}
C:> javaw com.example.PropertyTest
C:> set _JAVA_OPTIONS=-Dfile.encoding=UTF-8
C:> javaw com.example.PropertyTest
通过设置环境变量为系统环境变量,适用于所有java进程。
另见
- http://www.rgagnon.com/javadetails/java-set-java-properties-system-wide.html 指定了一些额外的环境变量(我没有测试过)。
- Java System Environment Variable 在 Whosebug
是否有任何方法可以设置适用于所有 java 进程的特定属性(java.exe
,javaw.exe
for windows)运行那台机器?
更清楚地假设我想使用特定时区应用于该机器中的所有 java 进程 运行(不更改系统时区)。
我知道我们可以将它作为 -D
参数传递,但它仅适用于 java 进程 right.But 我以另一种方式需要它 - 对于每个 java 进程开始。
有什么办法吗?
尝试使用 Java 8:
您可以使用环境变量_JAVA_OPTIONS
为java.exe
和javaw.exe
指定默认参数,例如
C:> set _JAVA_OPTIONS=-Dfile.encoding=UTF-8
javaw
的快速粗略测试:
package com.example;
import javax.swing.JFrame;
import javax.swing.JTextPane;
public class PropertyTest {
public static void main(String[] args) {
String value = (String) System.getProperties().get("file.encoding");
JTextPane txt = new JTextPane();
txt.setText(value);
JFrame main = new JFrame();
main.add(txt);
main.setVisible(true);
}
}
C:> javaw com.example.PropertyTest
C:> set _JAVA_OPTIONS=-Dfile.encoding=UTF-8
C:> javaw com.example.PropertyTest
通过设置环境变量为系统环境变量,适用于所有java进程。
另见
- http://www.rgagnon.com/javadetails/java-set-java-properties-system-wide.html 指定了一些额外的环境变量(我没有测试过)。
- Java System Environment Variable 在 Whosebug