2014-03-01 45 views
3

我有一個小型的Java項目,我和朋友一起工作。我們都使用eclipse和egit插件和github進行版本管理。git - push java .classpath文件?

除了JRE庫之外,我們還使用javafx和RXTX庫。因爲我們都需要庫,所以我們把它們放在我們項目的lib文件夾中。然後我們設置.classpath來引用我們項目中的庫,並將.classpath推送到github。

此時,我們意識到,不同的計算機需要不同的庫,並且在CVS中具有.classpath文件可能是一個壞主意。

所以我的問題是,這裏的最佳做法是什麼?提交.classpath文件似乎是一個糟糕的主意,但是我想要控制項目中使用的庫,因此,爲庫jar提供其他項目文件可能是一個好主意;那麼拉出項目的人就可以輕鬆地將他的系統的jar添加到類路徑中。但是,因此,我將不得不爲每個系統(win32,win64,linux,...)提供javafx和RXTX庫,並且這看起來也不是最好的做法。

我覺得這可能已經被問過,但是我找不到滿意的問題/答案。

+0

你可能會對EnterpriseAndroid的作者如何解決這個問題感興趣。包含.project和.classpath文件非常方便,因此開發人員可以快速引導項目。另一方面,他們*不同於env env。我們把它們放在一個「工具」子目錄中。 https://github.com/wileyenterpriseandroid/例子 –

回答

3

要回答你的問題「什麼是最好的做法在這裏嗎?」:

的二進制文件(罐)不屬於源代碼管理。爲了解決這個問題,開發人員通常使用一些帶有依賴管理的構建工具,它將從遠程倉庫下載這些罐子。最流行的Java世界是:

的Maven - http://maven.apache.org

搖籃 - http://www.gradle.org

SBT - http://www.scala-sbt.org/(主要爲斯卡拉,但對於Java的工程,以及)

螞蟻 - http://ant.apache.org

.classpath文件是特定於IDE(eclipse)的「項目」描述符,實踐可能因團隊而異,但最常見的可能是列出這些文件n。gitignore而不是提交它們。這些文件可能包含不在團隊內共享的開發人員特定設置,或者開發人員可能使用不同的IDE,並且存儲庫會受到這些文件的污染。

1

你可以嘗試Maven的組織和安裝的依賴:http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

+0

這是否與github一起工作?我喜歡github和git集成到egit的eclipse中,我希望繼續使用git,因爲切換到不同的系統需要很多工作。 我只想知道其他人如何使用git來處理所描述的問題。 – quantumbyte

+0

您可以將pom.xml文件添加到您的項目和git倉庫中。任何其他開發者都將在pom.xml上運行Maven(手動或通過他們的IDE)來設置它們的依賴關係。 – indivisible

+0

噢好吧,我沒有從你發佈的鏈接中獲得。現在進一步研究它。 – quantumbyte