如何在 Eclipse 中管理 git 子模块子项目?

2022-09-02 22:46:19

(如果这很重要,这些是Java Android项目)

项目 A 是一个库项目。

项目 B 依赖于 A。为了便于其他人(而不仅仅是我)进行全面的项目管理,A通过git子模块包含在B中。

这意味着,如果我想同时对AB进行更改,我将拥有以下内容:

  1. 项目 A 本身
  2. 项目 B
  3. BA的子模块,我们称之为A'。相同的代码,相同的项目名称,磁盘上的不同位置。

理想情况下,我希望能够满足以下条件:

  1. 能够直接在 Eclipse 中修改 A 本身。
  2. 能够修改B并让它构建,引用A',所有这些都在Eclipse中。
  3. 我真的不需要A'作为导入项目/不需要修改它,但我希望它自动构建其jar文件并由B引用。

我尝试过:

  1. 简单地同时导入 AA':不起作用,因为 Eclipse 无法导入两个同名项目。我也不能简单地更改名称,因为它是一个子模块;每次 git 更新都必须这样做,这是不可接受的。
  2. 将外部库引用添加到A',使其完全远离Eclipse:实际上不是太糟糕的解决方案,但至少需要从命令行(使用)进行一次外部构建才能工作...不是最方便的。ant
  3. 执行源链接:不是最干净的,因为 A(随后是 A')中有多个源文件夹,因此每次在 A 中添加或删除源文件夹时,我都必须更新。我宁愿直接使用罐子。

有没有办法将这一切保留在Eclipse中,或者我应该做一些类似#2的事情,但添加一个外部构建命令来调用A'ant


答案 1

我也有类似的情况。将 B 作为现有 (android) 项目导入到 eclipse 中,然后再进行 git 克隆。确保项目 A 已初始化和更新(通过 git)。

现在,执行文件>导入现有项目(如果A是Android项目,则为Android),然后转到项目B中的子模块A项目所在的位置并添加它。

现在,Eclipse 中有两个单独的项目。您可以更改这两个项目,并且它们都将位于项目 B 下,因为这是两个项目所在的位置。


答案 2

由于这是专门针对Android的,您是否研究过Android库?

在我的情况下,我有一个免费的(B)和一个付费(C)版本的我的应用程序。两者共享一个公共代码库 (A)。在eclipse中,我把A变成了一个Android库,B和C都使用这个库,所有3个都是单独的git存储库。通过此设置,我在A中所做的更改在B和C中自动可用,我只需要为每个项目维护一个代码库。没有花哨的构建脚本/配置。

我认为这种简单性是你所追求的吗?如果我误解了这个问题,请道歉。


推荐