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

Mutli项目使用类似gradle的sbt构建

公良扬
2023-03-14

我基本上是一个scala开发人员,最近我在scala-sbt中有一个项目,我开始使用kotlin,并尝试将我的代码的一些部分添加到kotlin中。我需要帮助理解gradle构建系统。数据库服务队列服务业务逻辑处理器代码取决于数据库服务、队列服务和业务逻辑上的项目。另一个项目“X”取决于队列服务和其他一些服务。通常在sbt中,这是一件非常直接的事情,您可以使用ProjectRef将这些项目作为依赖项包括在内。我如何用gradle实现同样的效果?提前感谢

//更新示例build.sbt

lazy val buildSettings = Seq(
  scalaVersion := "2.12",
  fork in Test := true,
  fork in IntegrationTest := true,
  ...
)

lazy val root = Project("processor-code", file("."))
  .settings(buildSettings: _*)
  .settings(
    libraryDependencies ++= //Deps
  )
  .dependsOn(db-service, queue-service, utilities)
  .aggregate(db-service, queue-service, utilities)

  lazy val db-service = ...

  lazy val queue-service = Project("queue-service", file(".")).settings()...

  lazy val utilities = ProjectRef(file("../utilities"), "utilities")

我已经尝试在设置中包含该项目。格拉德尔

include 'project'
project(":project").projectDir = "../myProject"

并加上了

implementation(project(":project"))

然而,它似乎不工作显示错误插件已经在类路径上,然后我也尝试创建一个子模块,它似乎是工作,但当我试图运行它抛出一个初始化异常

我知道我们可以在以下场景中配置项目

Root project: (contains common build.gradle)
| - subproject A
| - subproject B
| - myapp

现在myapp可以轻松依赖子项目

我的场景(没有共同的build.gradle,每个项目都会有自己的build.gradle)

| Independent project A
| Independent project B
| my app

共有1个答案

松嘉颖
2023-03-14

虽然你确实只能依赖其他子项目,但从技术上讲,这在Gradle中仍然是可能的。

由于project A是一个Gradle项目,您可以使用gradle jar命令对其进行打包。然后您可以将生成的JAR移动到您想要的任何地方,但可能会移动到您的my app项目。

现在可以使用项目从Gradle启动任意命令。exec{}

此外,您甚至可以在Gradle中编写自己的Kotlin/Groovy函数来实现这一点。

实际上,这就是SBT为您所做的。

 类似资料:
  • 我是新的gradle,我试图在STS创建spring boot gradle mutli项目,但我不明白如何创建。我能够创建单个项目。所以帮助我如何创建多个项目。 根Proect:NN-Backend Build.Gradle: 子项目:NN-过滤器构建。梯度:

  • 问题内容: 从历史上看,我曾使用Ant + Ivy或Maven来构建Java项目。我现在正在研究非基于XML的解决方案。 Gradle可以编译,修改和发布我的项目,几乎没有问题。 我可以对SBT做同样的事情吗?如果是这样,您能否提供一个使用sbt构建仅Java项目的简单示例。 问题答案: 是的,这完全有可能。完全不需要设置,一个小的build.sbt文件应该可以解决问题,例如: 并从命令行运行。

  • 我尝试使用gradle构建工具构建一个简单的android应用程序。但是我得到了这样的错误 方法无签名:org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile()适用于参数类型:(java.lang.String)值:[org.gradle.api.plugins: gradle and

  • 我是Gradle的新手,我刚刚开始使用多项目构建。目前,我正在为服务使用spring boot,我有以下目录结构 下面是根的配置 建筑格拉德尔(根) 设置。格拉德尔(根) 模块的Gradle配置 API-admin(模块) 我添加了jar闭包以防止运行时出错。这避免了它无法运行时说“没有清单”的问题 然而,即使在添加了jar闭包之后,现在也出现了一个新问题 现在我知道这是说找不到类,但我的问题是它

  • 问题内容: 我对Gradle(和Java 9,说实话)还很陌生,并且我正在尝试使用Gradle构建一个简单的库项目,该项目混合了Java 9和Kotlin。更详细地讲,在Java中有一个接口,在Kotlin中有一个实现。我会在Kotlin中做所有事情,但是无论如何都是Java,所以我决定采用这种方式。 我建立在IntelliJ Idea的基础上,外部定义了1.2.0 kotlin插件和gradle

  • 主要内容:1- 介绍,2- 示例模型,3-创建项目数学库,4- 创建另一个项目:MathWebApp,5- 创建GradleMain项目,6- 构建项目,7- 运行MathWebApp1- 介绍 本教程文章基于: Eclipse Java EE IDE for Web Developers. Version: Mars.1 Release (4.5.1) 如果您是初学者Gradle的。那么建议先看看初学者Gradle(Gradle Hello world)的文章: http://www.yiib