我想大多數Java初學者都會遇到的問題,那就是怎么配置環境,執行java -jar xxx.jar 都會報NoClassDefFindError,我在最開始學習的時候,也遇到了這些問題。
1.PATH path是路徑的意思,我們直接在控制臺運行一個程序時候,系統都會在指定的path下去找有沒有這個程序,如果有就執行,沒有就報錯或者提示。 在windows系統中,使用echo %PATH%來查看PATH下的路徑

 在linux系統中,使用 echo $PATH
 在linux系統中,使用 echo $PATH  我們將java的bin目錄加入path后,就可以直接在控制輸入java命令進行執行了,不必在進入java的bin目錄中執行相關java命令。2.CLASSPATH  通過設置path,能在任何目錄下執行java命令了,但是jvm怎么知道我要執行的class類在哪兒呢?這就要通過設置classpath來解決了。  幾種設置classpath變量的方式:  1).通過環境變量窗口設置  2).命令行設置    set CLASSPATH=  3).執行java命令時設置    java -classpath=  我們最常用的配置是設置classpath=.; 表示在當前目錄下查找class。以前版本還得設置lib和lib/tools.jar,現在我用的JDK1.8發現自己可以不用設置了,系統幫你設置和完成class類的查找。  我們可以通過下面的程序,來查看系統默認加載了些什么jar  URL[] urls=sun.misc.Launcher.getBootstrapClassPath().getURLs();  for (int i = 0; i < urls.length; i++) {   System.out.PRintln(urls[i].toExternalForm());  }
  我們將java的bin目錄加入path后,就可以直接在控制輸入java命令進行執行了,不必在進入java的bin目錄中執行相關java命令。2.CLASSPATH  通過設置path,能在任何目錄下執行java命令了,但是jvm怎么知道我要執行的class類在哪兒呢?這就要通過設置classpath來解決了。  幾種設置classpath變量的方式:  1).通過環境變量窗口設置  2).命令行設置    set CLASSPATH=  3).執行java命令時設置    java -classpath=  我們最常用的配置是設置classpath=.; 表示在當前目錄下查找class。以前版本還得設置lib和lib/tools.jar,現在我用的JDK1.8發現自己可以不用設置了,系統幫你設置和完成class類的查找。  我們可以通過下面的程序,來查看系統默認加載了些什么jar  URL[] urls=sun.misc.Launcher.getBootstrapClassPath().getURLs();  for (int i = 0; i < urls.length; i++) {   System.out.PRintln(urls[i].toExternalForm());  } 
 rt.jar是java很核心的jar包,基本包含了我們通常使用的基礎類  CLASSPATH對于JVM就相當于PATH對應于操作系統,操作系統要在指定的路徑找到程序,而JVM要在指定的路徑找到CLASS類
  rt.jar是java很核心的jar包,基本包含了我們通常使用的基礎類  CLASSPATH對于JVM就相當于PATH對應于操作系統,操作系統要在指定的路徑找到程序,而JVM要在指定的路徑找到CLASS類新聞熱點
疑難解答