2013-10-08 55 views
0

在過去的幾年中,我一直在XCode和Objective-C工作,但我知道一旦我必須轉換到Eclipse或類似的Java項目。案例是,我並不特別喜歡Eclipse,這導致我開發了一個新的開發環境,即IntellijIDEA。但是,我完全不知道如何處理文件以及如何添加外部庫,也不知道我的CLASSPATH應該是什麼。我在哪裏可以將這些外部庫存放在我的項目中?我也在和Maven合作,我不太清楚爲什麼要使用依賴關係。如果我將.jar包含在我的Classpath中 - 或者存儲我的資源,類等等 - 爲什麼存在依賴關係?我有一個工作項目,但我不舒服的發佈或使用它,而不完全確定我在那裏做了什麼。我知道如何在IntelliJ中添加外部.jar文件,但我在哪裏添加這些外部庫在我的項目中?對IntellijIDEA和Maven的問題

這就是我迄今爲止所做的: 假設我已經下載了一個Maven項目,並且我想在其他項目中使用它。我使用mvn install然後(在我的模塊設置中)我將目標文件夾中的.jar作爲外部庫添加。 IntelliJ是否保留對.jar文件的引用?如果該.jar文件位於我的下載文件夾中,並且我想將該項目傳輸到服務器,該連接是否被破壞?

+0

這是很多問題一次:) – TheEwook

+0

@TheEwook對不起。我認爲它們是相互關聯的,因此適合在一個問題中發佈。我希望能得到一個有凝聚力的答案:-) –

+0

問題的標題應該更具體 –

回答

3

在Maven項目中,您添加了您在pom.xml文件中依賴的庫,有沒有需要將它們添加到IDE中的其他位置和/或通過IDE將它們鏈接到項目。只需爲您的pom.xml文件添加一個新的依賴項即可。

maven商店(如果沒有另行設置)文件夾中的所有工件(庫):~/.m2/,這是您保留依賴關係的地方,哪個是您的本地Maven存儲庫。

Maven讓您的生活更輕鬆,因爲您不必將jar添加到您的classpath中。確保你的maven項目確實被你的IDE認可爲maven項目(通常這是你的項目視圖中的一個微小的 M)。

這裏是maven的簡短介紹,在開始的時候幫了我很多:http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html,尤其是爲了瞭解生命週期。

正如您所提到的mvn install:您構建的工件將被部署到您的本地Maven存儲庫,您擁有的所有其他項目都可以使用此工件並引用您部署的最新工件。

您可以像運行其他項目一樣運行您的項目,點擊運行按鈕並選擇您的主類。

如果您的項目產生可運行jar,您也可以在您的pom.xml文件中定義它。請參閱How can I create an executable JAR with dependencies using Maven?以在一個jar中創建一個包含所有依賴關係/庫的jar,或者爲可運行的jar將deps/libs放入單獨的文件夾中的How to create a runnable jar with maven that includes dependencies in a separate "lib" folder (not an uber jar)。無論如何,在這兩種情況下,Maven都會生成MANIFEST文件(這是可執行文件所需的)。

+0

非常好的答案!謝謝! –

1

嘗試mvn idea:idea從maven的pom.xml生成IntellijIDEA的項目。然後打開項目並查看所有添加的庫。

+0

聽起來不錯,但這些庫保存在哪裏呢?哪個文件夾? –

+0

它們被保存到$ HOME/.m2/repository下的本地Maven緩存中,並在項目中鏈接。 Idea還會下載libs的源代碼,非常棒的工具! –