gpt4 book ai didi

java - 如何构建依赖于另一个项目的 Gradle 项目,但使本地路径不受版本控制?

转载 作者:行者123 更新时间:2023-11-30 03:04:19 26 4
gpt4 key购买 nike

我正在组织我的两个 Java 项目。两者都使用 Git 进行版本控制。为了构建它们,我从调用 javac 的简单 shell 脚本迁移到 Gradle。项目 C 依赖于项目 L。项目 C 的 build.gradle 如何从项目 L 中找到它需要的东西?我想避免检查我的计算机本地的版本控制路径。我觉得我一定缺少一个比其中一个更好的解决方案:

  • 将项目 L 的源路径添加到 build.gradle 中项目 C 的源路径:这是本地路径。
  • 将项目 L 发布到本地存储库,并让项目 C 从此存储库获取依赖项:我再次指定本地路径;本地存储库的路径。
  • 在服务器上运行远程存储库:我确实有一个服务器和一个域,但这似乎有点矫枉过正。
  • 在项目 C 中包含项目 L 的 .jar: 要么我将二进制文件 checkin 版本控制(我不想这样做),要么我正在传送 .jar 文件作为构建过程的一部分手动进行。

有什么好的解决方案吗?

最佳答案

Gradle 可以使用您本地的 Maven 存储库。它甚至使用与 Maven 相同的机制来确定 .m2 文件夹的位置。

If a local repository location is defined in a settings.xml, this location will be used. The settings.xml in USER_HOME/.m2 takes precedence over the settings.xml in M2_HOME/conf. If no settings.xml is available, Gradle uses the default location USER_HOME/.m2/repository.

只要将 ProjectL 工件发布到本地 Maven,您就可以从 ProjectC 的存储库中使用它们,而无需使用本地路径。只需确保在 C 之前构建和发布 L。有关发布到 Maven 存储库的更多详细信息 see here .

本地 Maven 存储库可以在 gradle 中定义为:

repositories {
mavenLocal()
}

关于java - 如何构建依赖于另一个项目的 Gradle 项目,但使本地路径不受版本控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35184941/

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