maven - 如何在工作区中使用同一项目根目录的多个存储库?

标签 maven gradle build ant developer-tools

我想在单个项目目录中处理同一项目的多个存储库。我该如何有效地做到这一点?是否有任何构建/项目管理工具可以执行此操作?
例如,考虑工作区项目结构:

/ProjectWorkspace/
    |-> build/(build artifacts of Application, ApplicationInterface, ForkedExternalDependency)
    |-> logs/
    |-> src/
        |-> Application/
        |   |-> src/com.example.*
        |   |-> tst/com.example.*
        |   |-> gradle-build-scripts
        |   |-> .git/
        |
        |-> ApplicationInterface/
        |   |-> src/com.example.*
        |   |-> tst/com.example.*
        |   |-> ant-build-scripts
        |   |-> .git/
        |
        |-> ForkedExternalDependency/
            |-> src/
            |-> some-other-build-scripts
            |-> .git/

有几点需要注意:
  • 应用程序 依赖于 应用程序接口(interface)
  • 应用程序 , 应用程序接口(interface) 依赖于 ForkedExternalDependency
  • 应用程序 , 应用程序接口(interface) , ForkedExternalDependency 依赖几个外部依赖项并共享其中一些
  • /ProjectWorkspace/src/ 下的所有目录都是各自独立的存储库/包,具有自己的版本控制和构建脚本
  • 不在 /ProjectWorkspace/src/ 内的其余文件和目录是本地工作区文件,未维护。
  • IDE 中的项目(此处为 IntelliJ IDEA CE)预计 Root 于 /ProjectWorkspace
  • 如果任何包在本地 checkout ,我想使用它们,否则取决于远程发布。 (例如:如果 应用程序接口(interface) 包在 /ProjectWorkspace/src 中可用,我希望 应用程序 使用它。如果它在工作区本地不可用,我想 应用程序 使用来自远程存储库的依赖项 0104 467x18。

  • 最佳答案

    从标签中我假设您有一个 Java 项目。
    您应该使用 Maven 或 Gradle 构建它(Ant 已过时)。 Maven 有一个非常好的项目结构,但你需要坚持下去,而不是自己发明。
    如果您需要最大的灵 active ,请使用 Gradle。但是也可以看看 Maven——他们构建项目的想法可能比你的更好。

    关于maven - 如何在工作区中使用同一项目根目录的多个存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64115123/

    相关文章:

    java - Maven:在不扩展依赖项的情况下使用 flatten 解析版本

    android - Android Studio Gradle构建失败(无法找到目标)

    ios - 添加新的构建规则来解析所有 rtf 文件

    ant - Apache ant 无法识别 'for' 任务/宏,虽然我已经通过 taskdef 添加了 ant-contrib

    android - 使用 Maven 构建失败

    java - 将 Maven Central 托管的 JAR 添加到本地 .m2 存储库的 mvn 命令 (CLI) 是什么

    Gradle:任务配置方法之间的任何差异

    ruby - Jekyll 构建后出现奇怪的 HTML 代码

    java - 如何从头开始安装这个maven依赖项?

    android - 错误:未知主机 'jcenter.bintray.com: Name or service not known'。您可能需要在Gradle中调整代理设置