我最近直接下载一些行家伪影到我的本地储存库(.m2目录/库)。 现在,我安装了Nexus仓库管理器,并需要填写其存储,而不会再次下载所有的文物。有没有一种方法来更新与当地一个Nexus的仓库。 我不想简单地复制它们,因为就其公共服务器(中央,Codehaus的,等等)和本地资源库结构的Nexus独立的文物没有。

更新: 同时,我复制从本地存储库Nexus的存储(公共库)的文物。我可以浏览到通过Nexus的Web应用程序的文物,但不知何故Maven的无法解析Nexus的文物。 我是否需要特别注册呢?我重新索引的公共库和重新启动的Nexus多次 - 不可更改

有帮助吗?

解决方案

的Nexus具有若干类型存储库:托管库(那些确实存储Maven构件),代理存储库(当被请求的流量重定向到其他远程存储库的伪影),虚拟存储库(maven1存储库的一个单纯的适配器[出这个问题的范围的])。还可以创建库组可以从任何其聚集体(所述public库是其中之一)的服务的伪像。

此外,关系根据其出版政策到的快照和<强>释放划分其存储库。前者只存储快照文物;而后者,理论上,可以同时存储快照和发布,但它实际上表现马车时回购是非常大的,并且包含快照。

为了举办的文物,你需要:

<强>首先除以本地资源库分成两个:含有一个快照,和另一种含的版本。的Nexus仓库皈依工具将帮助你,如果你的回购是非常大的:

    <dependency>
        <groupId>org.sonatype.nexus.tools</groupId>
        <artifactId>nexus-repository-conversion-tool</artifactId> 
        <version>1.8.0.1</version>
        <classifier>cli</classifier> 
    </dependency>

在downlaoded你可以执行java -jar nexus-repository-conversion-tool-1.8.0.1-cli.jar -rSource -oTarget其中Source是包含本地存储库移动到承上启下的目录,并Target是现有的,空的,可写目录皈依工具将离开分裂库。只要源目录是repository和Target是temp,它将创建temp/repository-snapshotstemp/repository-releases目录。

二:移动你的分裂回购的Nexus。并让他们在${NEXUS_HOME}/sonatype-work/nexus/storage,或任何你的Nexus安装配置存储库。

<强>第三创建2的托管库用相同的id作为你在第二步骤中移动的回购。 (在该示例repository-snapshotsrepository-releases

如果您的回购将只包含的版本中,您的解决方案可以工作,但你会COMMITED另一个错误。虽然每个仓库的Nexus商店文物,那些没有被托管回购存储只是为了缓存目的(如public库的情况下),你就必须复制你的内容,一个以工作主持之一。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top