Это хороший вопрос, но ваше воплощение предполагает многое. Я предполагаю, что вы должны задокументировать имя вашего jar, чтобы пользователи вызывали «java -jar xyz.jar», так что вы также можете включить в документацию, что «-Xmx256M» требуется?
Возможно, вам повезет больше с использованием Java Launcher, например этот для Windows, где вы положили конфигурацию Launcher (путь, максимальный объем памяти и т. Д.) В отдельный файл. Для кроссплатформенности есть LaunchAnywhere и другие, которые работают аналогично. См. Как я могу преобразовать мою программу Java в файл .exe?
Чтобы улучшить вашу существующую схему:
- используйте системное свойство
java.home
для определения местоположения JDK / JRE
- используйте
java.class.path
для установки пути к классу и аналогично для java.library.path
, если вашему приложению требуется собственный код.
- передать аргументы команды, переданные вашему основному методу, процессу spanwed
Но, тем не менее, кажется, что это большие усилия, которые в лучшем случае представляют собой дырявую абстракцию, когда вместо этого будет достаточно простой и понятной документации.