參考資料:http://www.javashuo.com/article/p-msyidtve-hh.htmlhtml
場景:java
使用java命令運行.class文件時出現:「錯誤: 找不到或沒法加載主類」:htm
解決方法:blog
使用 java 包名+類名執行,以下:在src下使用 java com.lznb.cloud.TCPEchoClient get
緣由:it
1.java指令默認在尋找class文件的地址是經過CLASSPATH環境變量中指定的目錄中尋找的。class
2.咱們忽略了package的影響。 基礎
注意:變量
在main目錄下使用java命令執行 :java com.lznb.cloud.TCPEchoClient,路徑是重複的,因此在這裏咱們需在src下執行便可搜索
總結:
1、java執行class文件是根據CLASSPATH指定的地方來找,不是咱們理解當前目錄。若是但願它查詢當前目錄,須要在CLASSPATH中加入「.;」,表明當前目錄。
2、java執行class文件對package的路徑是強依賴的。它在執行的時候會嚴格以當前用戶路徑爲基礎,按照package指定的包路徑轉化爲文件路徑去搜索class文件