gpt4 book ai didi

maven - 在没有互联网接入的情况下使用 Maven 或 Gradle 的最佳实践

转载 作者:行者123 更新时间:2023-12-02 01:56:03 24 4
gpt4 key购买 nike

我的公司有一项政策,即部署到生产中的软件必须在无法访问互联网的特定机器上构建。

我们目前正在使用 Maven。在开发机器上运行构建时,maven 会自动从中央 Maven 存储库下载依赖项而不会出现问题。然后在生产之前,我们将本地 Maven 存储库 (.m2/repository) 中的所有文件放入源代码管理中,然后使用

运行离线构建
  mvn -o -Dmaven.local.repo=<local repo dir> package

此方法有效,但在源代码管理中管理数千个文件确实很痛苦,尤其是 Maven 插件的依赖项。因此,我的问题是,如何改进工作流程,以便更轻松地维护源代码管理中的依赖关系?

我正在考虑切换到 Gradle,主要是因为它更灵活并且不依赖于从存储库下载的插件。但后来我发现 Gradle 本地缓存目录无法在计算机之间传输,这意味着我无法将其 checkin 源代码管理。

所有的建议和建议都将受到赞赏。

最佳答案

使用 Nexus 或 Artifactory 等内部存储库管理器。始终将发布的 Artifact 投入生产。

但是在生产机器上构建项目并不是一个好主意。最好使用包含所有依赖项的完整 Artifact ,如 EAR 或 WAR,或类似 jar-with-dependencies 或其他组装发行版的东西。在您的 CI 服务器上构建项目,并一键将完整的包部署到生产服务器。

关于maven - 在没有互联网接入的情况下使用 Maven 或 Gradle 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19903374/

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