執著用命令行來編譯和運行java程序,所以遇到了一些問題,但是收獲是把java的CALSSPATH環境變量的本質給弄清楚了。所以IDE雖然方便,但是命令行才更接近計算機的本質,而且當你入門以後並且熟練以後,命令行只會給你帶來更高的效率和成就感。
當java需要外包的jar包和運行一個不在當前目錄的class文件的時候都需要CALSSPATH環境變量的正確設置才能夠正常工作。其實原理相當的簡單,只是要google一下,會發現大量的和我一樣迷惑和犯錯的人,而且有一些肯定是已經比較熟悉java語言和庫的,只是突然環境改變了,突然無法工作了,又不知道該如何解決了。
其實CLASSPATH環境變量就是給java提供一個目錄前綴,和PATH給shell提供一個目前前綴是一樣的意義。
java不知道你把jar包放在什麼位置,所以你需要把jar的目錄設置到CLASSPATH裡面去。
如果你的項目不是HelloWorld那樣的一層目錄,class文件直接就在本地目錄,那麼你也需要把你的工程目錄設置到CLASSPATH裡面去。不然,當你試圖運行class的時候,java會找不到,然後出現“Exception in thread "main" java.lang.NoClassDefFoundError”這樣的錯誤。其實,你在命令行隨便敲一個 java xxx,也是會出現這個錯誤的。
一句話就是package所在的目錄和package內部的目錄。
這裡需要特別注意在2個目錄連接的時候多一個“/”的問題。