What's the difference between a System property and environment variable

Khue Vu picture Khue Vu · May 19, 2010 · Viewed 23.3k times · Source

I am not clear about this. When I run a java App or run an Applet in applet viewer, (in the IDE environment), System.getProperty("java.class.path") gives me the same as System.getenv("CLASSPATH") which is the CLASSPATH defined in my env variable.

But when I deploy my applet to webserver and access it from the same computer as a client, I get different results for the two. (System.getProperty("java.class.path") only points to JRE home and System.getenv("CLASSPATH") returns null).

And here is some other things that make me wonder:

For the applet part, the env var JAVA_HOME, I get the same result when deploying the applet in a browser as well as Applet Viewer.

And if I define myself a env variable at system level, and use getenv("envName") the result is null. Is there anyway I can define one and get it in my Java program?

Answer

Konrad Garus picture Konrad Garus · May 19, 2010

Environment variables are specific to the operating system. Properties are JVM only.