2008-11-13 64 views
4

我很難搞清楚如何將一個.jar /庫添加到Netbeans項目中,以便我可以將它提交到存儲庫。讓Netbeans和Subversion與庫很好地一起玩嗎?

添加一個庫的典型方式(每個Netbeans文檔我已經經歷過)最終只是對我而言是本地的。任何檢查出我的項目的人都會錯過我所需的圖書館。

手動插入,並試圖解決的Netbeans導致的Netbeans試圖掃描項目掛...

所以,我怎麼能告訴Netbeans的拿起一個罐子作爲一個庫,包括它在我項目的方式使Subversion能夠處理它?

回答

0

好的,我現在已經轉移到的工作解決方案是從jar文件中提取類文件並將它們轉儲到Source Packages區域中。然後它將全部提交到存儲庫,並避免在部署階段處理單獨的「lib」目錄。

這個解決方案做我想找的所有事情,但我對這樣做感到很骯髒。它似乎可怕地破碎和錯誤... :-)

1

不是你的問題的答案,但是......一般你不應該在你的Subversion版本庫中包含這些庫。通常不需要管理它們。你可能想要的是建立一個類似於maven的中央倉庫。如果你使用maven,你可以在團隊可以訪問的服務器上創建一個本地庫庫。這些庫的依賴關係被輸入到pom.xml文件中,並且它位於Subversion存儲庫中。現在,當團隊成員查看來自Subversion的代碼時,他們都可以訪問Maven存儲庫。

[我正在尋找這個權利的參考。當我找到它時,我會編輯這個答案。]

2

有幾種方法可以解決這個問題。

A.當你定義你的庫時,使用一個路徑到一個公共位置。每個人的機器上的位置都是相同的,例如安裝了第三方應用程序的JAR在Program Files或/ usr/local /中的位置或者網絡驅動器的位置。

然後,當他們簽出代碼時,路徑仍然是正確的,他們不必在Netbeans工作區中定義庫。

B.編輯您的project.properties文件以使用相對路徑。打開你的project.properties文件並查找「libs.LIBRARY_NAME.classpath=...」。如果庫未定義,那將是「默認」位置。

將其更改爲使用相對於項目的路徑並將jar文件存儲在項目中。例如: libs.Log4J.classpath=lib/log4j.jar

請記住,庫管理器中的庫定義將覆蓋此值 - 因此請確保將它們保持同步(即將版本號附加到庫名稱!)。 C.使用Vincent建議使用Maven等構建系統的建議。 Maven構建過程將負責下載依賴關係等.Netbeans爲幾個流行的構建系統提供了插件。

+0

手動只是改變了nbproject文件/ project.properties和它完美的作品。 – givanse 2009-08-29 23:07:42

0

我最終剛剛下載自己的套件,並將它們放在我的本地驅動器上用於此項目。我將Netbeans設置爲在那裏並警告其他人我做了什麼......最終,我們不得不做一些更具可擴展性的事情,但是...... :-)

+0

是的,我不明白這是可以接受的。我希望有人能夠將我的項目從顛覆項目中拿出來,並準備好所有附加的庫進行編譯和發佈。 – 2009-02-04 02:19:34

+0

我同意。儘管似乎不可能。令人震驚的是,儘管我們可能在今天這個年代出現了這個問題。我覺得所有這些問題早就解決了...... – 2009-02-04 14:38:17

1

我使用NetBeans IDE 6.5.1,迄今爲止發現的最佳解決方案是從本地主機中包含所需的庫,然後將其路徑更改爲相對的。之後,您必須手動從NetBeans file explorer中刪除這些庫,然後再將它們從您的計算機上的操作系統位置手動複製到文件資源管理器。這樣NetBeans檢測到更改,並可以將其提交到存儲庫。


注:我強烈建議清理和更新後重新構建項目。

1

一個簡單的方法來打包你的lib/jar到你的項目中,這樣subversion「處理它」,所以你可以抓住它所有附加的庫準備編譯和去是將它們包括在你的項目目錄通過管理庫文件夾通過「共享庫」選項。

創建新項目時,您可以指定「使用專用文件夾存儲庫」,然後使用建議的相對。\ lib路徑。如果您有現有項目,則可以編輯它的屬性,「庫類別」和「瀏覽庫文件夾」。第一次運行會再次提示。\ lib,然後提供將現有的依賴項複製到該文件夾​​。這些圖形操作應該提供與James Schek'B'答案類似的結果。

使用。\ lib中新添加的庫提交項目,您應該能夠在任何地方簽出並構建,並且知道您將擁有與上次構建時相同的庫(與相同版本)並且承諾。

我不知道這個功能在NetBeans中已經用了多久。有關詳細信息,請參閱:

http://netbeans.org/kb/docs/java/project-setup.html#projects-shared-libraries

相關問題