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

classpath, environment-variables, java, system, system-properties

Solution

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

Problem

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?

Original source

Related problems