java里面的环境变量问题和系统变量是不是一回事情?
java_home属于那一种?

解决方案 »

  1.   

    Java的环境变量是一种被Java使用的系统变量
    主要是ClassPath(Path是为了找到Java的Exe命令,不算)
    Java_Home是用于标准化Java的环境变量配置的系统变量如你JDK安装于c:\Java
    可设置:
    Java_Home=C:\Java
    ClassPath=.;%Java_Home%\jre\lib\rt.jar
    Path==%Java_Home%\bin如果JDK安装于D:\JDK1.5.07
    那也只要改Java_Home
      

  2.   

    如果我要在程序里面输出java_home 或是tomcat_home?
    怎么写?
      

  3.   

    import java.util.*;
    import java.io.*;
    class SysProb
    {
        //返回当前系统变量的函数,结果放在一个Properties里边,这里只针对win2k以上的,其它系统可以自己改进
        public Properties getEnv() throws Exception
        {
            Properties prop=new Properties();
            String OS = System.getProperty("os.name").toLowerCase();
            Process p=null;
            if(OS.indexOf("windows")>-1)
            {
                p=Runtime.getRuntime().exec("cmd /c set");  //其它的操作系统可以自行处理, 我这里是win2k
            }  
            BufferedReader br=new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line;
            while((line=br.readLine())!=null)
            {
                int i=line.indexOf("=");
                if(i>-1)
                {
                    String key=line.substring(0,i);
                    String value=line.substring(i+1);
                    prop.setProperty(key,value);
                }    
            }
            return prop; 
        }
     
        //具体用法 
        public static void main(String[] args) 
        {
            try
            {
                SysProb sp=new SysProb();
                Properties p=sp.getEnv();
                System.out.println(p.getProperty("Java_Home"));  //注意大小写,如果写成path就不对了
            }
            catch(Exception e)
            {
                System.out.println(e);
            }
        }
    }