gpt4 book ai didi

java - 在maven中从开发发布到生产

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:03 26 4
gpt4 key购买 nike

我对在开发和生产环境中使用 maven 感到困惑 - 我确信我缺少的是一些简单的东西。感谢任何帮助..

我在本地机器上的 eclipse 中设置了 maven 并编写了一些软件。我真的很喜欢它使诸如包含依赖 jar 之类的事情变得非常容易。

这就是我的开发环境。但现在我想在远程服务器上将项目发布到生产环境。我已经搜索了文档,但我无法弄清楚它应该如何工作或 maven 最佳实践是什么。你应该:

a) 还在您的生产环境中运行 maven,并将您的所有文件上传到您的生产环境并在那里重建您的项目? (我对在生产服务器上重建“已发布”代码的想法有些犹豫,所以我很确定这是不对的..)

b) 使用 mvn:package 创建您的 jar 文件,然后将其复制到生产环境中? (但是那些好的依赖项又是什么呢?你的测试代码现在是否会在生产环境中针对不同版本的依赖 jar 运行,可能会破坏你的代码?或者缺少一个 jar..? )

c) 还有一些我没弄明白的..

在此先感谢您的帮助!

最佳答案

  • 您应该让您的代码处于版本控制之下(并且您永远不会将文件“上传”到另一台机器,如果需要,您可以从版本控制系统“下载”它们)。

  • 您应该以一种可以部署在生产环境中执行的格式(WAR、EAR、另一种包)打包您的代码。这样的包通常包括依赖项。要构建更复杂的 bundle ,Maven Assembly Plugin可以提供帮助。

  • Maven 生成的工件(JAR、WAR 等)应该通过远程存储库共享(因此部署 - 我的意思是 mvn deploy 这里 - 到这个远程仓库)。远程存储库可以是通过 Web 服务器或更高级的解决方案(如 Nexus)提供的简单文件系统。 .

  • 开发通常使用 SNAPSHOT 依赖项(例如 1.0-SNAPSHOT)完成。在发布时,您应该将版本更改为“固定”版本(例如 1.0)和您的 pom.xml 中的一些其他位,运行构建以检查一切正常,提交修改后的 pom.xml ,在 VCS 中创建一个标签,将版本提升到 pom.xml 中的新快照(例如 1.1-SNAPSHOT) , 提交新的 pom.xml在版本控制系统中。整个过程需要一些工作,但这可以使用 Maven Release Plugin 自动完成。 .

  • 在生产环境中,从远程存储库获取要部署的工件并进行部署(一些项目使用 Maven 自动部署到生产服务器,但这是另一回事)。

当然,围绕这一点存在差异(部署到生产环境大多数时候是公司特定的),但总的想法是存在的。

关于java - 在maven中从开发发布到生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2790793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com