我已經成功地爲基於maven和nexus的Java應用程序創建了一個小型軟件工程環境(SEE),其中包括其他工具。我的實際問題是 - 並不是真正的驚喜 - 聯繫人通常需要訪問互聯網才能從中央存儲庫獲取請求的工件。但SEE必須嚴格脫機,並且無法改變它(安全原因)。在本地網絡中使用Sonatype連接
我的第一個快速解決方案是鏡像連接到互聯網的機器上的nexus/maven安裝,運行一些標準pom來填充鏡像連接並通過CD-ROM將緩存遷移到目標系統。很難看。我並不是真的期望適應這個過程來獲得更新的工件或新的。實際上,我們現在通常只是導入我們需要的庫,並使用中央和其他的官方文件創建新的工件(使用nexus)。
有沒有人面臨同樣的挑戰,並找到了更聰明,更高效的方法?
編輯
感謝所有的答案,我想我必須要對企業的實際問題,我目前思考的解決方案更精確:我想我已經創建,填充和根據互聯網上的中央和其他回購,或者確切地說:同步一個私人「中央」儲存庫:兩個相同的儲存庫。一個連接到互聯網,另一個連接到本地網絡。然後,我可以保持互聯網連接存儲庫'最新',並通過DVD將更改複製到本地存儲庫 - 這對Nexus可見。
它會工作嗎?有沒有關於如何在私人服務器上設置'中央'的文檔,是否有一種機制來同步選定的工件?
(不想在一開始張貼我的想法,因爲我希望得到完全不同的想法)
編輯2 - 「最佳實踐」 - 補充要求
我們的「最佳實踐「在其完全從互聯網上斷開連接的環境中使用maven:
- 我們安裝在中央服務器上關係,使軟件開發工作站有一個交談的服務器(這是我們自己的假象代表ository)
- 我們將POM文件導出到有互聯網訪問權限的工作站,清除該機器上的本地存儲庫並執行
dependency:go-offline
(plugin)。這種填充本地資源庫中的所有需要artedfacts - 我們把這個本地資源庫的安全環境,並添加了所有插件的Nexus(只需將文件複製 - 結構是相同的)
這每週一次用做所有的POM文件(可以是自動的),你有一個非常穩定和可用的本地存儲庫。
嚴格來說,脫機,你的意思是從互聯網斷開或根本沒有網絡? –
感謝您的評論 - 環境有一個小型網絡:一臺服務器與nexus,一些客戶端使用Eclipse IDE。但網絡沒有連接到互聯網(或任何其他網絡)。 –
安德烈亞斯 - 已經過了一年多了。你有沒有吸取教訓來報告?我幾乎面臨着與你完全相同的問題。 –