2011-10-18 69 views
0

在Eclipse中,我們有一個項目,我們在構建路徑中引用外部jar。當我將我的項目上傳到存儲庫並且我的同事將其檢出時,構建路徑將在同一位置查找jar文件。我們中的一個人使用Mac,因此甚至沒有C:驅動器,而我的另一位同事有另一個包含該jar的分區,因此它總是會中斷。構建路徑問題

我們如何解決這個問題?理想情況下,jar文件將作爲項目的一部分被包含,但似乎svn提交不包括引用的庫。

感謝

+0

只是一個粗略的它可能work.Go到項目properties.Inside構建路徑添加任何庫,然後按ok。然後運行它。如果它將運行然後刪除運行後庫。 :) –

回答

2

我建議您使用一個構建工具(maven,ant/ivy,gradle等)以及一個存儲庫管理器(如nexus或ar​​chiva),具體取決於您用於構建項目的方式。這些庫存儲在一箇中央位置,然後用戶從那裏獲得庫。

在eclipse中,當你在checkin中包含你的.classpath文件時,你將會遇到你正在描述的問題,因爲.classpath文件將包含文件的路徑,然後你都必須擁有這些文件相同的位置。解決這個問題的方法是創建一個「lib」目錄並將所有的庫放在那裏。然後,每個用戶可以將該目錄中的所有庫添加到其路徑中(但不要檢入.classpath文件)。這是在依賴管理者的概念之前做事的一種較老的方式。

+0

+1本身的真相 –

1

添加JAR作爲項目的一部分(比如在lib文件夾在您的項目),並提交到SVN。

+1

在vcs中存儲jar並不是一個好的做法,我認爲 –

+0

Concur,maven或其他一些DCS會更好的解決方案 –

0

開始使用Maven來解決你的依賴關係。 最差情況:將外部jar提交到另一個名爲MyProjectDependencies的項目中

0

您可以使用Apache Maven來避免這樣的事件並獲得許多其他優勢。
您可以在maven上找到很多指南,例如this one
Eclipse已與maven集成。

0

1.)在項目中的目錄中籤入JAR。

2.)使用Maven(或類似的東西)來管理你的依賴關係。

3.)創建一個引用JAR的用戶庫,並在您的項目中以這種方式引用它。每個用戶都需要在他們安裝的Eclipse中創建用戶庫,但聽起來你已經通過外部引用庫來做類似的事情了。

0

如果您不想使用像Maven這樣的依賴項管理工具,那麼您的情況下的一個簡單解決方案就是使用Eclipse類路徑變量。所有項目都可以引用該變量,但對於每個開發人員而言,它將具有不同的值。

設置了CLASSPATH變量:

  • 右鍵單擊該項目,選擇項目屬性
  • 單擊添加變量
  • 配置變量
  • 新...
  • 名稱的變量,並指向文件夾

現在提交您的.classpath文件。該變量將在.classpath中引用。每個開發人員都可以配置他們的特定目錄,並將該變量擴展到特定的jar文件。