当前位置: 首页 > 知识库问答 >
问题:

gradle多项目:构建目录出现在包含静态编程语言工件的根目录中

冯茂实
2023-03-14

我们的多项目构建具有以下结构:

root项目\-project1 \-project2 \-build。梯度\-设置。渐变

当我从根项目目录运行gradle构建时,project1中的构建构件(不是Kotlin项目)会按预期保留在project1/build目录下。但是,根目录下会显示一个生成目录,其中仅包含build/kotlin和build/kotlin-build目录。

即使我从root-project/project 2运行gradle build,我也会看到相同的行为。

我遗漏了什么来命令将所有kotlin建筑文物置于以下位置:

root-dir/project 2/build

我的根目录/内部版本中有以下内容。gradle这可能会对行为有所帮助:



    task root-project(dependsOn: ':project1:build') {
       doLast {
           copy {
               from project(':project1:').file('dist')
               into project(':project2:').file('build/resources/main/static/')
           }
       }
    }

    project(':project1') {
        task UI(dependsOn: ':project1:runAll') {
            doLast {
                println 'UI'
            }
        }
    }

    project(':project2') {
        task API(dependsOn: ':project2:bootRun') {
            doLast {
                println 'API'
            }
        }
    }


共有1个答案

乐成济
2023-03-14

正如您所期望的那样,结果工件实际上被放置在子项目目录下。

根项目中的构建/kotlin和构建/kotlin构建目录包含kotlin Gradle插件跨构建存储和使用的一些内部状态(例如多模块增量编译缓存)。它被放在根项目目录下,因为它也在子项目之间共享。

换句话说,这没什么好担心的。

 类似资料:
  • 我有一个gradle多项目构建,每个子项目都在单独的git存储库中。在根项目的build.gradle,我试图为所有子项目定义一个任务,它将为每个项目执行一些git命令。但是,任务的工作目录始终是根项目的工作目录。 如何根据当前执行任务的子项目更改workingDir?

  • 正如标题所说,我正在尝试将Java和Kotlin混合在一个项目中。这里有一个很好的例子。混合java kotlin hello world。除了kotlin在src/main/Java/somepackage/SomeClass中找不到我的任何Java类之外,所有的东西都正常工作。Java语言 这是什么原因? 我的身材。gradle看起来像这样 而不是开始尝试在更大的项目上实现这一点。我试图通过创

  • 前言 这一篇,我们将接着上篇来完成创建项目文件、目录结构。 回顾 先回顾一下现在项目有哪些东西了: . ├── app │   ├── app.vue │   ├── common │   │   ├── img │   │   ├── js │   │   └── scss │   ├── index.html │   ├── index.js │   ├── router

  • 我是一个初学静态编程语言的学生,正在学习一个示例回收人员视图。我开始编码,但没有得到我应该得到的结果,即使在检查和重新检查代码之后也是如此。然后我注意到,即使使用非常基本的代码,它仍然没有按照应有的方式运行。我将包含基本代码,当使用时,它应该显示一个通用列表。我只得到列表中的一项。我怀疑代码以外的其他东西正在影响结果;但是我还没有达到知道的水平。 请看活动内容。xml: 注意它有行。 下面是列表(

  • 主要内容:多项目构建的结构,指定常规构建配置,项目指定配置和依赖关系,Gradle多项目构建的示例,子项目配置,参考可以轻松处理各种大小规模的项目。小项目由一个单一的构建文件和一个源代码树构成。 大项目可以将其拆分成更小的,相互依赖的模块,以便更容易理解。Gradle完美支持这种多项目构建的场景。 多项目构建的结构 这种构建有各种形状和大小,但它们都有一些共同的特点 - 在项目的根目录或主目录中都有一个文件。 根目录或主目录都有一个文件。 具有自己的构建文件的子目录(某些多项目构建可能会省略子项

  • 我在SBT中有一个多项目构建配置,由两个互不依赖的不同模块组成。它们只是(碰巧)属于同一产品。 项目布局如下: project/Build.scala包含常见设置,如下所示: 根构建文件 build.sbt 只需要将它们放在一起 [我也试图删除它... 最后是myProject_1/build.sbt[我刚刚省略了myProject_2/build.sbt,因为它非常相似,没有为主题提供任何附加价