2014-03-19 47 views
2

我已经在服务器上设置了nexus,现在我想确保我的本地机器只使用nexus来获得任何依赖关系,并且永远不会去到它的本地.m2目录。Maven - 完全禁用本地存储库,只能去远程

有没有推荐的方法来做到这一点,事实上,甚至建议这样做?

感谢

+0

你为什么要这样做?这实际上并不是Maven的工作原理。我也不确定是否真的有可能做你想做的事(尽管我不介意纠正)。这个问题 - http://stackoverflow.com/q/7959499/1570834 - (及其答案)给你一些可能的选择:1.删除你的本地回购,从而强制下载一切。 2.使用依赖插件来清除你的本地存储库等 – DB5

+0

我会告诉你为什么我想这样做,但我一直在eclipse和它的Maven回购浏览器的问题,没有反映远程回购的真实状态,即使更新后索引和一些在回购中的罐子根本没有被下载到本地,所以它确实用于测试目的。谢谢您的帮助。 – berimbolo

+0

您是否在使用存储库管理器?如果是的话,创建该索引是原因。 – khmarbaise

回答

3

你总是要使用本地目录的.m2,因为否则的Java将无法把JAR文件到类路径。

如果您始终想要用本地版本库更新本地存储库, Nexus,然后根据http://books.sonatype.com/mvnref-book/reference/running-sect-options.html使用“mvn -U”或“mvn --update-snapshots”,其中“强制检查远程存储库上的更新版本和快照”。

否则,只有当本地存储库中已存在工件时才会检查远程存储库。

+1

嗯,我想你是对的,我没有这么想,我只是刚开始使用Maven,并刚刚意识到我的项目实际上只是对本地存储库的引用,正如你所说的那样,本地存储库需要放置在本地班级路径。然后我想要的是你建议的是强制检查远程存储库,我只需要在Eclipse中执行此操作。谢谢您的帮助。 – berimbolo