如何从java检查PATH和CLASSPATH环境变量?

时间:2012-12-20 06:59:22

标签: java path get classpath environment-variables

我正在创建一个java程序来读取带有JMF的audio.wav文件。每次我的计算机重新启动时都必须从cmd设置路径

    set CLASSPATH=%WINDIR%\java\classes\jmf.jar;%WINDIR%\java\classes\sound.jar;.;%CLASSPATH%

    set PATH=%WINDIR%\System32;%PATH%  

否则程序将编译但不运行 我想通过

来做
    System.setProperty(key,value);

我不知道cmd命令,所以为了通过cmd设置它来检查CLASSPATH和PATH的值我试过

    public void checkProperty (){
    System.setProperty("temporaryvar","blahblah");
    System.out.println(""+System.getProperty("temporaryvar"));//prints out blahblah
    System.out.println(""+System.getProperty("CLASSPATH"));//prints out null
    System.out.println(""+System.getProperty("PATH"));//prints out null
    }

我打印出来

    blahblah
    null
    null

我从程序中获取变量值的原因是什么原因,但是我从cmd中设置的变量不是这样的?这是正确的方法吗?我需要从java..plz帮助中设置这两个路径

2 个答案:

答案 0 :(得分:22)

使用System.getenv代替System.getProperty。请注意,您还可以使用以下命令获取当前Java进程的有效类路径:

System.getProperty("java.class.path");

并且这个值可以(在大多数情况下)与您设置的CLASSPATH环境变量不同。

答案 1 :(得分:10)

因为CLASSPATHPATH是环境变量,而不是Java系统属性。系统属性可以使用-Dkey=value传递给您的java进程。

请尝试使用System.getenv()