繁体   English   中英

如何创建具有 1 GB 堆的可执行 jar 文件

[英]How to create an executable jar file with 1 GB heap

我创建了一个类,它提供一个包含系统性能的文本文件作为输出。 我想将它作为可执行Jar 运行。 但是当我运行 Jar 时,我想将堆增加到 1 GB。

如果我们运行这个程序,我可以像这样运行:

java -Xms1200m  -Xmx1300m Sample

但是如何使用可执行Jar 增加堆空间? 当我单击 jar 时,它必须以 1 GB 的堆空间执行。

 java -Xms1200m -Xmx1300m -jar FILENAME.jar

在 jar 文件或 Manifest 中的某处定义它是不可能的:

我可以设置从 jar 文件运行的 Java 最大堆大小吗?

如前所述:不幸的是,这是不可能的(不创建包装器,无论是快捷方式/脚本/可执行文件...)。

如果你只在 Windows 上运行,我可以推荐Launch4J创建一个可执行的包装器,它可以在执行时应用这些设置:

将其包装在可执行文件中还有其他好处:

  • 如果没有找到合适的 Java 版本,它会提示用户下载它
  • Windows 7 开始菜单会正确对待它(安装后将其突出显示为新应用程序)
  • Windows 防火墙会正确对待它
<launch4jConfig>
  <dontWrapJar>false</dontWrapJar>
  <headerType>gui</headerType>
  <jar>PATH_OF_YOUR_JAR</jar>
  <outfile>PATH_OF_YOUR_EXE</outfile>
  <errTitle></errTitle>
  <cmdLine>-log_file=logs\\hp</cmdLine>
  <chdir></chdir>
  <priority>normal</priority>
  <downloadUrl>http://java.com/download</downloadUrl>
  <supportUrl></supportUrl>
  <customProcName>true</customProcName>
  <stayAlive>false</stayAlive>
  <manifest></manifest>
  <icon>PATH_OF_THE_ICON</icon>
  <singleInstance>
    <mutexName>APPLICATION_NAME</mutexName>
    <windowTitle></windowTitle>
  </singleInstance>
  <jre>
    <path>jre-w32\</path>
    <minVersion></minVersion>
    <maxVersion></maxVersion>
    <jdkPreference>preferJre</jdkPreference>
    <initialHeapSize>512</initialHeapSize>  
    <maxHeapSize>1024</maxHeapSize>
  </jre>
</launch4jConfig>

它是一个launch4j 配置文件,您可以在此处根据需要指定堆大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM