Passing environment variables to a JVM, in a platform-independent manner

Viewed 86773

I'm developing a J2EE application that runs in JBoss on a Windows Vista machine, but the application will end up on a Linux machine. Is there a way to pass in the value of an environment variable in a platform independent way?

I think (but I'm not sure) the platform-sensitive way would be:

-Denv_var=%MY_ENV_VAR% (Windows)
-Denv_var=$MY_ENV_VAR (Linux)

and from there I would access the value (in Java) using

System.getProperty("MY_ENV_VAR");

— is that correct?

The Javadoc for System.getenv(String name) seem to imply that method is platform-dependent, but I'm not clear on that. Could I just skip passing the variable into the JVM completely, and use getenv() after using setting the value for an environment variable using the OS?

3 Answers
Related