如何为jvm设置默认参数?

8
我想知道在启动JVM之前如何传递参数。例如,我认为我需要修改JVM的时区参数。我使用Windows 7和Eclipse。
2个回答

11

在Eclipse中,前往

Run As -> Run Configurations -> Arguments -> VM Arguments

并设置所需的JMV参数,例如

-Duser.timezone=PST

您可以通过运行此测试来获取JVM中可用的所有时区ID。

for(String id : TimeZone.getAvailableIDs()) {
    System.out.println(id);
}

输出

Etc/GMT+12
Etc/GMT+11
Pacific/Midway
Pacific/Niue
Pacific/Pago_Pago
Pacific/Samoa
....

谢谢你的建议。另一个问题是,当我运行以下代码时: System.out.println(TimeZone.getDefault()); 输出为 sun.util.calendar.ZoneInfo[id="America/Caracas",offset=-16200000,dstSavings=0,useDaylight=false,transitions=5,lastRule=null]。有没有其他改变它的方式? - iceberg
1
使用其中一种 TimeZone 方法,例如 TimeZone.getDefault().getDisplayName()。 - Evgeniy Dorofeev

4

JVM参数是通过命令行使用-D指定的。

java -Dfile.encoding=utf-8 -jar myApp.jar

在你的情况下,请使用-Duser.timezone

如何正确设置JVM时区


1
这不是原帖所要求的。 - bmargulies
@bmargulies,这两者有什么区别?请发表你的回答。 - Nikolay Kuznetsov
重新阅读他那令人痛苦的语法,我不再确定你的答案是否有问题了。 - bmargulies
@bmargulies,是的,他的问题不清楚。当前两个答案是针对当前问题提出的补充建议。 - Nikolay Kuznetsov
1
如果我没有Eclipse和命令行,那怎么办?有默认的配置文件吗?也许有一些默认的属性文件,但在哪里呢? - n611x007

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接