2013-03-16 57 views
2

我有完全用Java編寫的一個項目,並使用一些外部Java庫(休眠,一對夫婦的Apache公地,MQ,非常標準的東西。)Maven和Eclipse的

我已經習慣了使用Eclipse工作,但這個項目 - 我從一羣開發人員中不再繼承的公司 - 正在依靠Maven。

我不知道他們爲什麼首先使用Maven(他們不能與我分享這些知識)。項目規模中等,公司沒有做的事情太複雜。

現在我的問題是:是否有任何理由讓我保留Maven?仔細閱讀,我找不到任何真正的理由,我對目錄結構特別不滿意,這要求我下降到3個層次才能到達實際的Java包和Java代碼。我想要做的只是將所有東西都移動到Eclipse中,使用Eclipse結構,它需要1-2天的工作才能運行,所以不會浪費大量時間,並且從我的角度來看現在看來,這將使我的生活變得更簡單,並讓我爲僱用我的公司做得更好。)

+2

爲什麼不直接將maven項目導入到eclipse中進行開發,並使用maven在命令行或CI框架中構建。 – 2013-03-16 18:19:09

+2

艾迪,這不是一個「或/或」的選擇。完全可以同時使用maven和eclipse - 用於eclipse的m2e插件使得這項工作相當不錯,大部分時間...... – bacar 2013-03-16 18:20:05

+0

感謝您回覆,Tim和bacar。爲什麼甚至會打擾Maven? Eclipse可以創建所有的東西,而且它在這個簡單的任務上做得非常出色。 – Eddy 2013-03-16 18:20:41

回答

3

使用maven,您不必關心在項目中導入jar,因爲它是在pom文件中提到。如果需要的話,這些jar也會從maven倉庫下載(它應該存在於maven倉庫中)。它也將幫助你一次性製作所有的罐子(只需配置一次):)

+0

因此,我是否正確理解某處存在jar文件存儲庫,並且一旦我指定了它的位置,Maven就會自動獲取從它的罐子(甚至可能更新版本?)這聽起來有點瘋了。我從事過許多項目,一旦我將所有必需的jar放入Eclipse的lib目錄中,我再也不用擔心它們了。 – Eddy 2013-03-16 18:24:54

+1

在谷歌上搜索關於「maven repository」的地方,所有的罐子都放在那裏。它會下載你在pom文件中提到的jar版本。它非常方便,因爲您不需要擔心依賴關係,因爲它們會自動下載:) – Sach 2013-03-16 18:27:51

+1

@Eddy - 中央jar庫不是比linux軟件包儲存庫甚至智能手機應用程序商店更「瘋狂」的:-) – radai 2013-03-16 18:31:18

5

是的:手動管理傳遞依賴是傻瓜的差事,它有很多其他功能也是複雜的做手動。

僅依賴於IDE的構建過程,通常是一個糟糕的想法。不是每個人都使用相同的IDE,IDE或版本的IDE。與後者一起,CI系統是無頭的,並依賴於構建文件。

使用Eclipse-Maven插件,如m2eclipse或類似軟件。

+0

戴夫,你能看看我對下面答案的評論嗎? (並感謝您的回覆。) – Eddy 2013-03-16 18:25:34

+0

@Eddy嘗試更新任何版本。即使是一個相對較小的Java項目也可能有6個頂級依賴關係,而這些依賴關係依次存在依賴關係等。手工跟蹤這些只是愚蠢的,*非常困難,並且可能導致幾個小時的調試。 – 2013-03-16 18:50:37

+1

用於IDE位。在我工作的地方,我們有人使用Eclipse,IntelliJ,Netbeans,emacs和vim。而且它一切正常,因爲我們遠離IDE特定的功能並使用Maven構建。 – yshavit 2013-03-16 18:51:18

1

Maven是一個強大的可擴展的開源項目構建器。配置包含在XML文件中,因此可以通過任何文本編輯器輕鬆訪問。如果您想分享配置,您只需發佈pom.xml即可。許多IDE都將項目配置轉換爲Eclipse和Eclipse,但此配置是本地配置,由開發環境在內部使用。開發人員甚至不會將這種配置保存在VCS中。檢查出這樣的配置是沒有意義的。但是maven是獨立的,因爲它依賴於外部存儲庫來跟蹤項目使用的每個庫和版本。包括Eclipse在內的許多IDE都通過插件支持Maven。這可以保持完整的兩種配置。

0

你應該保留Maven,如果你想使用Eclipse,你可以做到這一點,並仍然有Maven的功能。您可以在Maven中使用任何文件夾結構,只需在pom文件中指定路徑即可。