在单个 Eclipse 工作区中处理多个相互依赖的 gradle 项目组
Dealing with multiple inter-dependent groups of gradle projects in a single Eclipse workspace
这个问题我想了很久。我仍然不知道是否有任何插件的 Eclipse 可以意识到一些 gradle 项目(在工作区中)依赖于其他 gradle 项目(也在工作区中),当这些来自其他项目时单独的位置(例如,单独的源存储库)。
他们最终不依赖于彼此,而是依赖于彼此发布的工件。我必须在构建脚本中明确支持编码,作为 gradle 的 eclipseClasspath eclipse 插件的一部分,以创建 Eclipse 工作区位,同时被告知(在命令行上)这些其他项目将存在于工作区中。
这不仅麻烦且难以维护,还需要预先了解工作区中可能包含的内容、这些项目的名称、繁琐的命令行等。
是否有解决此问题的方法或即将推出?
示例:
假设有一个名为 "A" 的 "product"。它可以有多个 gradle 个项目,比如 "one" 和 "two"。这些作为 A:one 和 A:two jar 工件发布到 maven 或 ivy 风格的仓库。假设 "two" 取决于 "one"。您可以将它导入到 Eclipse 中,一切都会好起来的。 Eclipse 项目 "two" 将依赖于 Eclipse 项目 "one",而不是从 maven/ivy 存储库下载的 one.jar。
还有一个单独的产品"B"。它也有多个 gradle 项目,比如 "foo" 和 "bar"。假设 "bar" 依赖于 "foo" 而 "foo" 恰好依赖于 A:one。一切都还好。如果将 "B" 项目导入 Eclipse,将出现 "bar" 和 "foo" 项目,并且 "bar" 将依赖于 "foo" 项目,而不是 jar.... foo 将依赖于自动下载的 A:one jar。
但是有人必须同时在 A 和 B 上工作。因此,他们将所有项目导入 Eclipse 工作区。他们在 A:one 中修改了一些东西(比如修复了一个错误),并想通过 运行 来自 B 的东西来尝试。他们的改变将不可见,因为 B:foo 依赖于先前下载的已发布的 jar A:one 的工件,而不是 Eclipse 项目 "one"。这使调试、验证等变得复杂。手动更新项目依赖项的时间很短 - 仅在下一次依赖项刷新之前。
安装了 Gradle IDE 插件的 Eclipse 有一个选项 Remap Jars to Gradle Projects
在 Windows > Preferences > Gradle
对话框下。我不亲自使用它,但它应该适合你。
这个问题我想了很久。我仍然不知道是否有任何插件的 Eclipse 可以意识到一些 gradle 项目(在工作区中)依赖于其他 gradle 项目(也在工作区中),当这些来自其他项目时单独的位置(例如,单独的源存储库)。
他们最终不依赖于彼此,而是依赖于彼此发布的工件。我必须在构建脚本中明确支持编码,作为 gradle 的 eclipseClasspath eclipse 插件的一部分,以创建 Eclipse 工作区位,同时被告知(在命令行上)这些其他项目将存在于工作区中。
这不仅麻烦且难以维护,还需要预先了解工作区中可能包含的内容、这些项目的名称、繁琐的命令行等。
是否有解决此问题的方法或即将推出?
示例:
假设有一个名为 "A" 的 "product"。它可以有多个 gradle 个项目,比如 "one" 和 "two"。这些作为 A:one 和 A:two jar 工件发布到 maven 或 ivy 风格的仓库。假设 "two" 取决于 "one"。您可以将它导入到 Eclipse 中,一切都会好起来的。 Eclipse 项目 "two" 将依赖于 Eclipse 项目 "one",而不是从 maven/ivy 存储库下载的 one.jar。
还有一个单独的产品"B"。它也有多个 gradle 项目,比如 "foo" 和 "bar"。假设 "bar" 依赖于 "foo" 而 "foo" 恰好依赖于 A:one。一切都还好。如果将 "B" 项目导入 Eclipse,将出现 "bar" 和 "foo" 项目,并且 "bar" 将依赖于 "foo" 项目,而不是 jar.... foo 将依赖于自动下载的 A:one jar。
但是有人必须同时在 A 和 B 上工作。因此,他们将所有项目导入 Eclipse 工作区。他们在 A:one 中修改了一些东西(比如修复了一个错误),并想通过 运行 来自 B 的东西来尝试。他们的改变将不可见,因为 B:foo 依赖于先前下载的已发布的 jar A:one 的工件,而不是 Eclipse 项目 "one"。这使调试、验证等变得复杂。手动更新项目依赖项的时间很短 - 仅在下一次依赖项刷新之前。
安装了 Gradle IDE 插件的 Eclipse 有一个选项 Remap Jars to Gradle Projects
在 Windows > Preferences > Gradle
对话框下。我不亲自使用它,但它应该适合你。