eclipse與intellij idea中的classpath分析
初學Spring框架的時候,對eclipse和intellij idea中的classpath的定義不是很理解,每次都是懵懵懂懂地使用,這裡將進行一次細緻的討論。
1. 什麼是classpath?
classpath相當於Java執行環境,它指定了一些常用的包或jar的位置,方便我們對專案檔案的使用,而不必重複多次寫所需要檔案的位置。
在classpath中可能需要使用所有相同名字的資原始檔,如果用classpath:只會載入第一個,而使用classpath*:字首則能夠載入所有符合型別的檔案。然而,使用classpath*:需要遍歷所有的classpath,載入速度很慢,因此您應該儘量避免使用classpath*。
2.eclipse中的classpath分析
在eclipse下的Spring專案中,有一個.classpath檔案,裡面配置了整個專案的執行環境(如下圖所示)。
程式碼解釋:(轉載於http://mingyundezuoan.iteye.com/blog/2224973)
kind:
src:原始檔的具體位置,對應java build path操作中source中的一項路徑。
con:執行的系統環境。
lib:庫檔案或目錄, path為庫檔案或目錄位置。注意: 當指定庫檔案時(非庫目錄, 通常是jar包), 應當包 含檔名。
output:指明為預設class輸出路徑, path為相應輸出路徑。注意: 這一條在檔案中有且只能有一條。
var:指定工程所用到的庫檔案或目錄, 對應工程屬性Java build path中Libraries項中的一項,指明帶有全 局編譯路徑中設定的變數(Window->Prefrences->Java->Build Path->Classpath Variables),path為 這個變數目錄下的庫檔案。
path:原始檔路徑。
output:為這條路徑中原始檔編譯以後class檔案的輸出路徑,對應java build path操作中source選項面板下方 default output path ,所指代的路徑。
including:額外包含其他目錄下的所有java檔案。
excluding:不包含的檔案。
3.intellij idea的classpath分析
首先在開啟的專案視窗開啟File->Project Structure...,得到如下圖所示的專案結構:
在最上面一欄可以看到這裡是Source標籤中的詳細資訊,在右邊可以看到專案裡面目錄的型別,有Source Folders、Resource Folders等等,這裡指的是Source Folders表示的都是程式碼原始檔目錄,生成的class檔案會輸出到target->classess資料夾中,但是裡面的原始檔不會複製到target->classes資料夾中,Test
Source Folders表示的都是測試程式碼原始檔目錄,生成的class檔案同樣會輸出到target->classess資料夾中,並且裡面的原始檔不會複製到target->classes資料夾中,
如果您在專案中想新增一些自己的目錄到Source Folders、Resource Folders這樣的目錄分類裡來實現編譯過後正確地檔案輸出,則可以點選需要設定的資料夾,再在檔案結構視窗上方的Make as:後面選擇正確的目錄型別即可。