How do I set maximal jvm-memory (XMX) for a jar-file

前端 未结 1 1383
攒了一身酷
攒了一身酷 2020-12-19 09:12

How do I set the maximal jvm-memory without adding an extra batch-script to my Programm. Answer is provided below.

相关标签:
1条回答
  • 2020-12-19 10:03

    It's a good question, but your implmenetation assumes a lot. I presume you have to document the name of your jar for your users to invoke "java -jar xyz.jar" on so can you also include in the documentation that "-Xmx256M" is required?

    You may have more luck using a java launcher, such as this one for Windows, where you put the launcher config (path, max memory etc.) in a separate file. For cross platform, there's LaunchAnywhere, and others, which function similarly. See How can I convert my Java program to an .exe file?

    To improve upon your existing scheme:

    • use the java.home system property to resolve the location of the JDK/JRE
    • use the java.class.path to set up the class path, and similarly for java.library.path if your application requires native code.
    • pass command arguments passed to your main method to the spanwed process

    But still, this seems to be a lot of effort that at best represents a leaky abstraction, when instead simple and clear documentation would suffice.

    0 讨论(0)
提交回复
热议问题