Java 跨机器发送maven依赖项

Java 跨机器发送maven依赖项,java,maven,Java,Maven,我在默认(~/.m2)目录下的开发机器中安装了一些maven依赖项(大约20多个JAR)。我希望所有这些依赖项都可以在我服务器中已经存在的依赖项文件夹(比如mvn_d)中使用 如何将新代码从本地开发人员机器部署到运行代码的服务器?我有两条路要走。两者都有一些局限性,谁能推荐更好的呢 对所有依赖项和scp进行Tar,然后转到服务器并相应地解除Tar。由于目前的设置,我不得不做chown和所有的工作,我发现这对我来说有点脏 在那里获取pom文件并使用maven下载。同样,它将下载到自己的结构中,生成

我在默认(~/.m2)目录下的开发机器中安装了一些maven依赖项(大约20多个JAR)。我希望所有这些依赖项都可以在我服务器中已经存在的依赖项文件夹(比如mvn_d)中使用

如何将新代码从本地开发人员机器部署到运行代码的服务器?我有两条路要走。两者都有一些局限性,谁能推荐更好的呢

  • 对所有依赖项和scp进行Tar,然后转到服务器并相应地解除Tar。由于目前的设置,我不得不做chown和所有的工作,我发现这对我来说有点脏
  • 在那里获取pom文件并使用maven下载。同样,它将下载到自己的结构中,生成子文件夹,所以我需要再次将所有JAR复制到我所需的文件夹中 在这两种情况下,开发人员都在处理装运。我相信在一个像maven一样成熟和广泛使用的工具中应该有更好的方法。请注意,我不想通过添加嵌入快照jar中的所有依赖项来增加部署的jar。我希望它们位于我的服务器中JAR的专用目录中


    编辑:这么多好的答案,但我只能选择。我将研究Artifactory来解决所有人的这个问题。

    您可能应该看看Maven依赖插件


    您可能应该看看Maven依赖插件

    您可以使用该命令将JAR部署到远程存储库(一个接一个)

    命令格式:

    mvn deploy:deploy-file -DgroupId= \ -DartifactId= \ -Dversion= \ -Dpackaging= \ -Dfile= \ -DrepositoryId= \ -Durl= mvn部署:部署文件-DgroupId=\ -DartifactId=\ -D版本=\ -D包装=\ -D文件=\ -DrepositoryId=\ -杜尔= 否则,如果您使用的是Nexus或Artifactory,如果您具有管理员权限,则可以通过网页手动上载它们。

    您可以使用该命令将JAR部署到远程存储库(一个接一个)

    命令格式:

    mvn deploy:deploy-file -DgroupId= \ -DartifactId= \ -Dversion= \ -Dpackaging= \ -Dfile= \ -DrepositoryId= \ -Durl= mvn部署:部署文件-DgroupId=\ -DartifactId=\ -D版本=\ -D包装=\ -D文件=\ -DrepositoryId=\ -杜尔=
    否则,如果您使用的是Nexus或Artifactory,如果您拥有管理员权限,则可以通过网页手动上载它们。

    我建议您开始使用存储库管理器,所有问题都会得到解决。Nexus、Artifactory或Archiva。

    我建议开始使用存储库管理器,所有问题都会得到解决。Nexus、Artifactory或Archiva。

    如果可能,您可以将该服务器设置为远程存储库,允许maven部署到该远程存储库(
    mvn install
    将在您的本地maven存储库中“安装”生成的人工制品“.m2”-文件夹,
    mvn deploy
    将尝试将同一工件部署到已定义的远程存储库-您可以配置该存储库(不幸的是,我自己从未这样做过),如果可能,您可以将该服务器设置为远程存储库,允许maven部署到该远程存储库(
    mvn install
    将“安装”在本地Maven存储库“.m2”文件夹中,
    mvn deploy
    将尝试将相同的人工制品部署到定义的远程存储库中,您可以对其进行配置(遗憾的是,我自己从来没有这样做过)