在windows下设的那个环境变量和在Dos窗口里用-classpath以及set classpath这三个环境变量是不是一个层级的?他们会相互替换掉么?(如图,三个环境变量分别为C:/workspace;C:/workspace/cp1;C:/workspace/cp2) 

解决方案 »

  1.   

    在WIN下设置的CLASSPATH可以理解为默认设置。
    而一旦使用了SET CLASSPATH设置后,CLASSPATH则被重新设置为新的路径,但仅限于当前的DOS窗口。
    如果关闭了这个DOS窗口,然后重新打开一个DOS窗口的话,CLASSPATH又恢复为WIN的设置。
      

  2.   

    优先级从高到低我认为是:
    java -cp ,set classpath ,win设置(默认)
      

  3.   

    我按我的理解总结了下,大家看对吗?1.优先级是java -cp ,set classpath ,win设置(默认)
    2.java-cp是临时的,只用一次就没了。set classpath也是临时的,当当前Dos窗口被关闭后,就没了。
    3.如果按优先级,使用了其中的一种,那么其他的会被临时替换掉。
        用了java -cp那么setclasspath的,win下的,这两种classpath都将暂时失效。当java -cp失效后才,才生效。
        用了set classpath,那么win下的,将暂时失效。当set classpath实效后,才生效。
        解决方法:一次输入多个classpath用;隔开。
      

  4.   

    简单的事情不需要搞得太复杂,实际上应用不是很多,除非有非正常的情况,现在开发都是在IDE环境下,所以楼主只需要简单的理解下就OK了,给分吧。