有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

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

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


共 (3) 个答案

  1. # 1 楼答案

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

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

    至少你只有两份回购协议

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

    更新:

    有一个新的解决方案可用

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

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

  2. # 2 楼答案

    使用 离线 命令行中的选项

  3. # 3 楼答案

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

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

    localRepository: This value is the path of this build system's local repository. The default value is ${user.home}/.m2/repository. This element is especially useful for a main build server allowing all logged-in users to build from a common local repository.