运行Java时如何指定vmoptions文件

运行Java时如何指定vmoptions文件,java,jvm,jvm-arguments,Java,Jvm,Jvm Arguments,我试图通过创建一个.vmoptions文件来简化Java应用程序的执行,该文件包含我通常通过命令行提供的所有参数(例如-Dhttp.proxyHost=…)。我见过多个应用程序(AndroidStudio、IntelliJ、Install4、Luciad)使用这种文件格式,但看不到它们如何实际指定要使用的.vmoptions文件。有时它看起来像.vmoptions文件位于.class文件旁边(与主类同名…),有时它有一个通用名称,如default.vmoptions。到目前为止,我最好的猜测是它

我试图通过创建一个
.vmoptions
文件来简化Java应用程序的执行,该文件包含我通常通过命令行提供的所有参数(例如
-Dhttp.proxyHost=…
)。我见过多个应用程序(AndroidStudio、IntelliJ、Install4、Luciad)使用这种文件格式,但看不到它们如何实际指定要使用的
.vmoptions
文件。有时它看起来像
.vmoptions
文件位于.class文件旁边(与主类同名…),有时它有一个通用名称,如
default.vmoptions
。到目前为止,我最好的猜测是它是根据文件名和类路径中的位置自动加载的

我的具体问题是:我如何指定要使用的
.vmoptions
文件,或者我必须将
.vmoptions
文件放在哪里才能让Java自动识别它?

官方文档,用于运行IntelliJ IDEA的默认选项在以下文件中指定:

<IDE_HOME>\bin\idea64.exe.vmoptions (for the default 64-bit JVM)
<IDE_HOME>\bin\idea.exe.vmoptions (for the optional 32-bit JVM)
\bin\idea64.exe.vmoptions(用于默认的64位JVM)
\bin\idea.exe.vmoptions(适用于可选的32位JVM)

您可以通过添加
IDEA\u VM\u OPTIONS
环境变量覆盖这些文件,并使用首选JVM选项作为其值指定文件的位置。此文件将覆盖IntelliJ IDEA配置目录中的原始默认文件和副本。

这与我的问题有什么关系?我不是问如何配置IntelliJ,而是问我自己的“本机java”应用程序?我的具体问题是:如何指定要使用哪个.vmoptions文件,或者,我必须将.vmoptions文件放在哪里才能让java自动识别它这不是你的问题吗?;或此选项,但无法看到他们实际如何指定要使用的.vmoptions文件。。。不我弄错了吗?如果您想在IDE之外的
.vmoptions
文件中使用
shell
来运行Java类或jar文件,那么我想告诉您,
.vmoptions
是IDE的特定于域的文件,而且它不属于JLS。命名的工具有定制的启动器,负责读取这些选项文件,从而决定在哪里查找它们。至少在最新的JDK版本中,标准启动器支持一个环境变量
JDK_JAVA_OPTIONS
,该变量可能包含命令行选项和一个特殊选项
@filename
,该选项指示它从指定文件中读取其他选项。这些功能可以组合使用,即将
JDK_JAVA_OPTIONS
设置为
@filename
option@filename另一个_option@other_filename
,以获得所需。但我不知道在哪个版本中添加了此支持。谢谢,这就澄清了它!在我的例子中,为了熟悉,我将匹配现有的.vmoptions“格式”,并从批处理文件/exe中将其作为外部文本文件加载,以确保完整性。