如何拆分 git repo 并应用 Maven 子模块和 Maven 父模块?

2023-12-07

我需要一些关于如何配置多个存储库的建议,以便它们共享 Maven 父级,并且还配置为 Maven 根项目中的子模块。

我正在维护开源项目简单的Java邮件由于可选功能变得越来越大,我计划将项目分成子模块,每个子模块都有自己的 GIT 存储库。

  1. 我首先关心的是应该有一个共享的Maven 父级 配置处理所有默认测试和构建配置以及 默认测试和实用程序依赖项。这是我可以做的一个额外的回购 考虑到。
  2. 接下来,轻松构建和发布所有内容 版本号,我想有一个Maven 子模块设置会 有用的。我如何在 GIT 存储库中进行设置?我的第一个想法 将是 main/root Maven 项目的另一个存储库,它定义了 子模块,然后检查这个和所有其他存储库在同一个 文件夹和主 Maven 项目将找到模块项目 和..\submodule-xyz相关文件夹。

我之前配置过类似的设置,但那都是在一个存储库中(在过去的 Subversion 时代)。任何人都可以建议如何通过拆分回购协议最好地实现这一点吗?最好我有一个用于父 pom 和主/根 pom 的存储库(这常见吗?)。与 git 子模块结合使用是否更好?


术语“模块”在这里有点过多。

是的,您可以在一个存储库中定义一个父 pom,声明一个多模块maven项目,每个模块引用一个子文件夹。

这些子文件夹可以通过创建git submodule add命令,引用子项目版本控制的每个远程存储库。
子文件夹是相对于父目录的根文件夹的,但不应该需要../.

每个子模块存储库可以有自己的pom.xml,它将引用主项目 pom 作为父 pom。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何拆分 git repo 并应用 Maven 子模块和 Maven 父模块? 的相关文章

  • 在 Maven 中构建 Angular 2 项目

    我想使用 Maven 构建 Angular2 TypeScript 项目 有没有一种方法可以包裹npm install or ng build里面的命令pom xml文件 我只是想构建那个项目 您可以像这样简单地使用 我在我的应用程序中已经
  • 为什么 VS Code 中的 java 项目的构建路径突然不完整?

    我有一个 Java 程序 我已经使用了几个月了 它可以生成 Excel 调查 我使用 Maven 作为 VS Code 中的 Java 构建 由于某种原因 从今天开始 当我在 VS Code 中打开项目时 我收到此错误 该项目未构建 因为其
  • 递归地将整个文件夹添加到存储库

    我正在尝试向 GitHub 上的 master 分支添加一个分支 并将一个文件夹推送到该分支上 分支的文件夹结构如下所示 Social App Source Code Dev Trunk Social App 以及所有源代码文件都在最后一个
  • Git分支切换不会改变代码文件夹文件

    这是后续this https stackoverflow com questions 9406651 code base for git master feature branch问题 我使用克隆了远程主项目文件夹git clone ema
  • 从私有 GitHub 存储库迁移到公共和私有

    我使用 GitHub 上的私人存储库开发了一个客户项目 我们现在要做的就是开放其中的某一部分 并产生该项目的开源版本 我们的想法是 客户的版本将在此基础上构建 对开源版本所做的任何更改也应适用于私有版本 现在的问题是我不能将当前的 GitH
  • 如何将 HEAD 移回之前的位置? (分离头)和撤消提交

    在 Git 中 我试图做一个squash commit通过合并到另一个分支然后重置HEAD通过以下方式前往上一个地点 git reset origin master 但我需要走出这一步 如何将 HEAD 移回之前的位置 我有 SHA 1 片
  • 在 GitHub 上看不到“在 Xcode 中打开”按钮

    正如在GitHub 和 Xcode 9 中的新源代码管理工作流程 https developer apple com videos play wwdc2017 405 time 204Apple 视频会话 我们可以直接从 Xcode 克隆项
  • git pull:无法快进,

    你能帮我解决我的问题吗 当我尝试从 dev 分支拉取时发生错误 我浏览了解决方案 它说我需要 rebase 但它对我来说没有成功 CT aohc MP1GYWQA MINGW64 c TCO source RAPMD Web Fronten
  • 仅当除 master 之外的所有分支都有推送的 TAG 时,Gitlab 才会触发 Pipeline

    我的 YAML 文件必须如何配置 以便仅在推送标签时触发一种情况 作业 构建 的管道 该标签可能位于除 master 之外的所有分支中 对于主案例 我有一个单独的工作 build master yaml 文件 问题 如果主分支获得标签 管道
  • 为什么 iTerm2 中不显示 git 颜色

    所以我有我的 gitconfig 设置来处理颜色 在终端中它工作得很好 看起来也不错 然而 在 iTerm2 中 除非我为 git 设置反向属性 否则我的 gitconfig 根本不会显示颜色 然后它们就出现了 但是谁喜欢相反的颜色呢 为什
  • 如果检测到更改中的特定短语,如何阻止 git commit?

    我注意到开发人员倾向于做的一些模式 例如使用以下代码提交 javascript 测试fdescribe or fit留在其中 这意味着只有一个测试 套件将运行 通常是在审查阶段发现的 但最好尽早发现这些小事情 想知道是否有一种方法可以配置
  • JMH 不在 Java 模块内运行(无法找到资源:/META-INF/BenchmarkList)

    我做了一个项目 使用maven surefire plugin 自动化测试 触发 JMH 基准测试并添加module info java到它 现在 META INF BenchmarkList不再生成 事实上 整个目录丢失 因此在启动基准测
  • git 中的 web.config 和 app.config 机器特定设置

    我们在不同的办公室有多个开发团队 他们需要为我们项目中的许多配置设置使用不同的值web config and app config files 我们希望使用一组合理的默认值来检查这些配置文件 这样通过检查 trunk master 分支 您
  • 如何配置maven以使用servlet 3

    我想升级我的 web 应用程序以使用 servlet 3 0 插入 2 5 我正在使用 WebLogic Server 版本 12 1 1 0 12c maven java 7 10 和 NetBeans 7 3 1 由于某种原因 唯一可用
  • Git fetch 在 for-each-ref 中不显示远程分支

    我有一个远程分支feature test2 我想把它拿过来 我跑 git fetch origin feature test2 我得到 From
  • 致命错误:找不到“Fabric/Fabric.h”文件

    我正在使用 xcode 6 3 1 OSX 10 10 3 并且我已经在本地系统上成功配置了 crashlytics 它工作正常 并通过 Fabric 应用程序发布构建 但是当我将相同的代码库转移到 teamcity 时 它向我显示以下错误
  • 将环境变量从 fastlane 传递到 Xcode 构建阶段脚本

    是否可以 如果可以 如何 将环境变量从运行 fastlane 的脚本传递到 Xcode 运行脚本阶段 我的最终目标是在运行脚本阶段读取当前的 git 分支名称 我们的 CI 由 Team Foundation Server 运行 它执行以下
  • 如何在 gitolite 中安装钩子

    我已阅读全部关于钩子的文档 https github com sitaramc gitolite blob pu doc 2 admin mkd using hooks similar https stackoverflow com que
  • git:推送单个提交

    假设我进行了多次提交 并希望挑选哪些提交到远程存储库 我该怎么做 在ascii中 C1 gt C2 gt C3 gt C4 我想推C2和C4 通过变基 重置 推送然后重置进行重新排序是否有效 C1 gt C2 gt C3 gt C4 gt
  • Jenkins 中未找到 Maven

    我正在 Jenkins 中运行我的 Maven Spring 项目 只是第一次测试它 使用 shell 脚本选项 mvn spring boot run 我收到构建错误 Users Shared Jenkins tmp jenkins808

随机推荐

  • Facebook 群组文档 API

    我是否可以使用 facebook group api 发布和检索群组文档 我已经浏览了文档 但找不到任何解释如何实现这一点的内容 如果有人知道我可以在哪里获得此内容 请提供链接网址 以便我可以自己阅读 简而言之 我想检索文档并能够通过 fa
  • 是否可以从 Spring 应用程序属性中获取自定义对象?

    是否可以从 application yaml 获取自己的对象并将其与 Value 绑定到我的组件 Model Data public class CurrencyPlan private String id private String b
  • PHP 提交后保留选择选项

    我有一个 html 选择框 其中包含国家 地区列表 当我选择一个时 它会毫无问题地发送到 PHP 方法 但选择框会重置到顶部 如何保留用户在此处选择的值 我的代码在这里 为了简洁起见 我已经删除了大多数其他国家 地区
  • 在arm-linux中打印堆栈跟踪

    我按照这篇文章打印堆栈跟踪当我的 gcc C 应用程序崩溃时如何生成堆栈跟踪 它在 x86 linux 上运行良好 谁能教我如何让它在arm linux上运行 我使用的是arm linux gcc 4 4 3 root FriendlyAR
  • 使用 Sinatra 更改 HTTP 状态消息

    我正在编写一个简单的 Sinatra 应用程序 并且给定用户发布包含特定数据的请求 我想返回错误 453 自定义错误代码 以及消息 CLIENT ERROR 或类似的内容 问题是 查看 Sinatra 文档并进行一些测试 我找不到设置响应错
  • 如何检测鼠标指针是否击中 HTML 5 画布上已绘制的线条

    我试图弄清楚如何使用 jQuery 检测用户的鼠标是否点击了 HTML 5 画布上的一行 这是生成画布线的代码
  • R 中的空间自相关分析 (Global Moran's I)

    我有一个点列表 我想使用 Moran s I 并通过将感兴趣的区域除以 4 x 4 样方来检查自相关性 现在我在谷歌上找到的每个例子 例如http www ats ucla edu stat r faq morans i htm 使用某种测
  • 噩梦 JS 不工作

    我知道问题的标题看起来很模糊 但仅此而已 我在我的生产服务器上安装了nodejs 其中phantomjs工作正常 然后我通过安装了噩梦npm install nightmare 我可以在node modules中看到它 我尝试了开发人员在g
  • 如何在选择时突出显示菜单项? [复制]

    这个问题在这里已经有答案了 如何在选择时突出显示菜单项 我尝试使用各种属性修改 styles xml 例如colorPressedHighlight colorActivatedHighlight等 有没有办法让菜单项保持焦点 直到选择其他
  • 在脚本仍在执行时显示结果

    现在为了看到结果 我必须等到整个代码执行完毕 它会挂起直到完成并保持加载状态 一旦完成 它就会显示我正在寻找的所有信息 在脚本仍在运行时是否有办法显示此信息 所以说 如果我在代码顶部的某个地方有一个打印 我希望它在调用时显示 而不是在脚本执
  • 更新 imageView swift 4 的高度约束时无法同时满足约束

    我有一个stack view如下图所示 所以我改变了高度image以编程方式使其适合从我的服务器下载的图像 如果没有图像 则高度限制image将设置为零 这是我这样做的代码 let imageUrl URL string imageStri
  • 查找 CSV 文件/Pandas Dataframe 中标题行的行号

    我正在尝试获取 CSV 文件中包含标题的行的索引或行号 问题是 标题行可以根据我们系统的报告输出上下移动 我无法控制更改此设置 code ht pd read csv file csv test ht get loc Code Code b
  • 如何使用实体框架核心更新与普通 SQL 更新查询相同的多条记录列表?

    通常在 SQL 中我们可以写这样的查询UPDATE users SET isAdult 1 WHERE age gt 18 我想对实体框架核心中满足某些条件的所有行进行一些编辑 我写了这段代码 但出现错误 List
  • tomcat 中基于 JSP Web 应用程序表单的身份验证

    我已将我的应用程序配置为使用基于表单的身份验证 并在 server xml 中设置所需的设置 当我尝试访问受保护的页面时 我被正确重定向到登录页面 在登录页面上 我提供了正确的用户名和密码 但它没有让我登录 而是显示登录错误页面 我正在使用
  • password_hash 每次返回不同的值

    我正在制作一个登录系统 我想对密码进行哈希处理以使其更安全 但它每次都会返回不同的哈希值 甚至无法使用password verify 进行验证 这是我的代码 password password hash password4 PASSWORD
  • 让用户上传并运行Javascript有哪些风险

    如果您有一个 HTML5 游戏厅 允许用户上传一个使用 HTML5 和 Javascript 运行游戏的脚本 假设您的输入没有过滤器 除了只允许 JS 和 HTML 那么潜在的安全风险是什么 陷阱 一种不太可能的可能性是 如果游戏很受欢迎
  • 内部服务器错误

    我在远程服务器上的同一文件夹中有一个 HTML 文件和一个 PHP 文件 从 URL 中 我调用 HTML 文件 而 HTML 文件在提交表单时调用 PHP 文件 但进展并不顺利 当我提交表单时 它显示错误 500内部服务器错误 您要查找的
  • 如何使用 MapReduce API 在映射到云存储之前过滤数据存储数据?

    关于代码实验室here 我们如何在 MapReduce 作业中过滤数据存储数据 而不是获取特定实体类型的所有对象 在下面的映射器管道定义中 唯一的一个输入读取器参数是要处理的实体类型 我在 InputReader 类中看不到可以提供帮助的类
  • Selenium Python:如何网络抓取元素文本

    我正在尝试从轮盘赌游戏中抓取数据 在努力的同时 find element by class name roulette round result position text 我得到这个输出
  • 如何拆分 git repo 并应用 Maven 子模块和 Maven 父模块?

    我需要一些关于如何配置多个存储库的建议 以便它们共享 Maven 父级 并且还配置为 Maven 根项目中的子模块 我正在维护开源项目简单的Java邮件由于可选功能变得越来越大 我计划将项目分成子模块 每个子模块都有自己的 GIT 存储库