有没有办法禁用本地maven存储库?

这可能听起来很疯狂但我们的开发人员都在同一台Linux机器上工作,这台机器也安装了nexus作为我们的maven repo。 实际上,每个人都会在〜/ .m2 /文件夹中找到人工制品,这些文件也会在nexus服务器中重复出现。

是否可以简单地告诉maven只看看nexus中的人工制品?

/path/to/global/repo在我们的全局maven配置中设置了属性/path/to/global/repo ,但如果两个用户同时抓取同一个文件,则不确定这是否会导致问题。

我们之所以这样做是因为公司不会向我们购买function强大的工作站,所以我们都可以使用我们的开发服务器。

我不想将我的本地存储库指向nexus数据存储区,因为然后安装将更新nexus背后的存储库数据存储区。

但是,您可以设置与nexus数据存储区分开的单个“计算机”本地存储库,
然后为每个用户将~/.m2/repository目录更改为指向“machine”本地repo的符号链接。

至少那时你只有2份回购。

并发安装和下载仍然可能会相互破坏,但这可以通过烦人的重做来解决。

更新:

有一个新的解决方案可用。

安装TEAM(用于Apache Maven的Takari Extensions)扩展,提供了一个线程安全的本地存储库和一个用于多模块构建的改进算法。

见http://takari.io/book/30-team-maven.html#concurrent-safe-local-repository

我不确定这是否直接回答了你的担忧,但看起来你正在做的事情是正确的。

来自http://maven.apache.org/settings.html

localRepository :此值是此构建系统的本地存储库的路径。 默认值为$ {user.home} /.m2 / repository。 此元素对主构建服务器特别有用,允许所有登录用户从公共本地存储库构建。

在命令行中使用–offline选项。