Передающие переменные среды к JVM, платформенно независимым способом

Ассоциации файлов определяются в реестре под HKEY_CLASSES_ROOT.

существует пример VB.NET здесь , что я - Вы, может портировать легко на C#.

24
задан Matt Ball 11 June 2013 в 16:23
поделиться

3 ответа

System.getenv() is platform-independent by itself. Using your above example, you can most certainly write

String value = System.getenv("MY_ENV_VAR")

and it will work on both Linux and Windows. No reason to wrap this into java system property. That said, the "platform-dependent" part of getenv() lies in the fact that different operating systems use different environment variables, like PATH on windows vs path on Linux. But as long as you're using your own variables and name them consistently (always uppercase, for example), you'll be fine.

24
ответ дан 29 November 2019 в 00:12
поделиться

How I interpret the java tutorial on this is that getenv works in a platform independent way, but that you have to keep in mind that variables are not consistently named across platforms. Since you seem to set the var yourself, this does not apply to you.

1
ответ дан 29 November 2019 в 00:12
поделиться

Да - getEnv () просто вернет имя переменной среды, и вы можете установить ее любым способом, подходящим для платформы, на которой вы работаете (обычно с помощью командного файла запуска на Win32). Рекомендуется использовать разумные значения по умолчанию в зависимости от платформы (проверив System.getProperty ("os.name") ), если возможно, вы хотите, чтобы ваши пользователи не беспокоились о необходимости возиться с переменные среды для запуска вашего программного обеспечения.

1
ответ дан 29 November 2019 в 00:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: