2011-06-17 57 views
0

我有以下問題。我們的公司服務器上有一箇中央maven存儲庫。我們的團隊正在開展一個項目。這裏的每個人都使用該存儲庫來獲取所需的工件。如果當前缺少某些內容並且是開發人員當前正在處理的任務所需的內容,則他手動將此工件安裝到中央存儲庫,以便他的提交不會中斷自動構建。如何啓用玻璃魚內部訪問Maven存儲庫?

現在,每個開發者也在他的機器上安裝了Glassfish v2。這是爲了測試和調試目的。在提交更改之前,開發人員使用Maven幫助爲項目製作.ear。但是,在開發人員將耳朵部署到本地glassfish之後,會出現頻繁的錯誤,因爲glassfish庫集可能不包含中央公司資源庫的所有最新依賴項。

現在,如果發生錯誤,開發人員只需讀取日誌並查看缺少的內容。之後,他手動將所需的jar複製到他的本地$ GLASSFISH_HOME $/lib目錄中。但是這似乎有點令人沮喪。這如何自動完成?

現在我們正試圖實施以下解決方案。開發人員必須同步他的本地Maven存儲庫,收集項目所需的中央項目中的所有工件。這個本地存儲庫必須放在java類路徑上,以便glassfish也能看到它。這是一個正確的方法嗎?也許有辦法直接從$ GLASSFISH_HOME $/dir中的中央存儲庫中安裝所需的所有工件,並且這可以在部署期間自動完成?

回答

0
  • 關於必須安裝依賴關係。如果開發人員需要安裝公共Maven存儲庫中缺少的依賴項,請考慮通常Maven代理具有緩存公共回購的能力。例如,archiva has a proxying cache。如果依賴關係是您自己的項目可交付成果,那麼您應該在貴公司的倉庫中考慮releasing and deploying with maven

  • 關於最新版本。你需要指定maven應該使用哪個版本的依賴關係。我寧願手動編輯我的poms,反正有一個variety of ways to achieve that

  • 我認爲圖書館應該是項目的一部分。如果不是glassfish的標準庫,則應將其作爲項目的一部分包含在您的war文件中。如果不是標準的,但不是你項目的一部分(不是常規方法),考慮將其作爲一個項目(自己的git/svn回購,自己的pom,自己的版本,擁有一切)來管理這個項目。

祝你好運。