eclipse - 从未知根目录的子项目运行gradle任务

标签 eclipse gradle buildship

我在gradle中有一个多项目安装程序,结构有点像这样:

RootProject/
    build.gradle
    settings.gradle

SubProjectA/
    build.gradle

anotherDirectory/
    SubProjectB/
        build.gradle
    SubProjectC/
        build.gradle

根项目实际上只是一个根构建。在那里可以将所有其他项目 bundle 在一起。 SubProjectB取决于SubProjectC,C取决于A。

从根项目运行任务按预期方式工作。我可以运行gradle :SubProjectB:build,它将构建SubProjectB及其依赖项而不会出现错误。

我的问题是,如果我尝试从子项目的目录中运行任务,则该子项目依赖于其他任何子项目都将失败,因为它不知道没有根项目的其他子项目在哪里设置文件。因此,从其目录运行A的构建将可以工作,但是运行B或C的将失败。

在此结构中我可以做些什么来定义根项目实际上是什么,因此,如果我从B运行gradle build,它的行为与从根项目目录运行gradle :SubProjectB:build的行为相同?

最终目标是使从命令行使用gradle更加容易,并在子项目上获得功能上的默认任务。这样,我应该能够双击项目Eclipse的Gradle任务列表,并使它运行默认任务,就好像它是从根目录运行任务一样。

最佳答案

在这种情况下,您可以使用composite builds。假设您在SubProjectA并想针对SubProjectB进行构建。您可以执行以下命令:

gradle --include-build ../anotherDirectory/SubProjectB run
SubProjectB将首先构建,然后是SubProjectA

关于eclipse - 从未知根目录的子项目运行gradle任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45763360/

相关文章:

java - Gradle 导入 Powermock 和 Mockito

java - 如何为本地 JAR 依赖项指定 "sources"JAR?

eclipse - Buildship 不断覆盖 .classpath

android - 解释顶级 gradle 文件的新格式

java - 从 cmd 运行时 Spring Boot 加载测试数据库

java - Eclipse WTP + Gradle Buildship 未部署所有项目依赖项

java - 尝试使用 Eclipse 连接到 MySql 数据库时 Ping 失败

java - eclipse可以调试或运行一个项目中的两个程序

eclipse - Spring Eclipse(STS)@RequestMapping View 为空,是否由于Maven项目?

java - 如何避免此 Ant 构建错误?