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

Java 有没有办法禁用本地maven存储库?,java,maven-2,maven,nexus,Java,Maven 2,Maven,Nexus,这听起来很疯狂,但我们的开发人员都在同一台Linux机器上工作,这台机器还安装了nexus作为我们的maven repo。实际上,每个人最终都会在其~/.m2/文件夹中找到文物,这些文物也会在nexus服务器中复制 可以简单地告诉maven只查看nexus中的人工制品吗 目前,我已经在全局maven配置中设置了属性/path/to/global/repo,但不确定如果两个用户同时抓取同一个文件,这是否会导致问题 我们这样做是因为公司不会为我们购买功能强大的工作站,所以我们都使用ssh连接到开发服

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

可以简单地告诉maven只查看nexus中的人工制品吗

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

我们这样做是因为公司不会为我们购买功能强大的工作站,所以我们都使用ssh连接到开发服务器。

我不确定这是否直接解决了您的问题,但看起来您所做的是正确的

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


我不想将我的本地repo指向nexus数据存储,因为这样安装将在nexus背后更新存储库数据存储

但是,您可以将单个“机器”本地回购单独设置到nexus数据存储,
然后为每个用户将
~/.m2/repository
目录更改为指向“机器”本地repo的符号链接

至少你只有两份回购协议

同时安装和下载,仍然可能互相碰撞,但这可以通过恼人的重做来修复

更新:

有一个新的解决方案可用

团队(针对ApacheMaven的Takari扩展)扩展的安装提供了线程安全的本地存储库和用于多模块构建的改进算法

请参见使用 --离线
选项位于命令行。

谢谢,伙计,这就是我现在正在做的,它似乎工作正常。但是,我只是将全局maven settings.xml文件改为指向已知位置,而不是~/.m2/存储库。它一直在工作,但正如你所建议的,可能会有冲突:)谢谢你的回答。不推荐。Maven本地存储库不应同时使用。除非您已经安装了TEAM(针对ApacheMaven的Takari扩展)。这些扩展为多模块构建提供了线程安全的本地存储库和改进的算法。让我印象深刻的是,谢谢,伙计,没有意识到文档实际上说明了我们正在做的事情,不知道我怎么会错过:)谢谢。这会禁用远程存储库,让本地repo成为解决工件的唯一地方,而这不是所要求的。