【问题标题】:How Do I check PATH and CLASSPATH environment variables from java?如何从 java 检查 PATH 和 CLASSPATH 环境变量?
【发布时间】:2012-12-07 15:46:50
【问题描述】:

我正在制作一个 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 帮助中设置这两个路径

【问题讨论】:

标签: java path get classpath environment-variables


【解决方案1】:

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

尝试改用System.getenv()

【讨论】:

  • 请把它改成getenv,我想不假思索地复制粘贴:)。
【解决方案2】:

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

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

而且这个值可以,而且在大多数情况下,会不同于你的 CLASSPATH 环境变量设置的任何值。

【讨论】:

  • 你的意思是开场白的反面吗?应该是:“使用System.getProperty 而不是System.getenv。 ”?另外,如果您扩展更多解释会很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-05
  • 2011-04-08
  • 1970-01-01
  • 2015-11-02
  • 2019-06-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多