Scala Intellij中的SBT多项目

Scala Intellij中的SBT多项目,scala,intellij-idea,sbt,Scala,Intellij Idea,Sbt,我试图使用一个Intellij IDEA窗口导入多个项目(不相关)。 我面临的问题是,当我执行sbt任务时,任务没有加载到正确的项目目录中 这就是我所做的(全部在Intellij Idea窗口中): 打开一个root空sbt项目 在sbt工具栏中,我单击了+,添加了两个项目作业服务和用户服务(每个项目都是自己的build.sbt文件) 按重新导入所有sbt项目只是为了好玩 为用户服务执行编译(从sbt工具栏) sbt shell打开,并开始编译空根项目: [info] Set current p

我试图使用一个Intellij IDEA窗口导入多个项目(不相关)。 我面临的问题是,当我执行
sbt任务时,任务没有加载到正确的项目目录中

这就是我所做的(全部在Intellij Idea窗口中):

  • 打开一个
    root
    空sbt项目
  • 在sbt工具栏中,我单击了
    +
    ,添加了两个项目
    作业服务
    用户服务
    (每个项目都是自己的
    build.sbt
    文件)
  • 重新导入所有sbt项目
    只是为了好玩
  • 用户服务执行
    编译
    (从sbt工具栏)
  • sbt shell打开,并开始编译空根项目:

    [info] Set current project to root (in build file:/Users/dima/git/root/)
    [IJ]sbt:root> compile
    
    我所期望的是

    [info] Set current project to user-service (in build file:/Users/dima/git/user-service/)
    
    当然,第二个项目也是如此

    版本:

    Idea version: Version: 2019.2 Build: 192.5728.98
    SBT version = 0.13.18
    
    我知道如何在多个项目中使用单个
    build.sbt
    文件。但这些项目并不相关。每个项目都有自己的
    build.sbt
    文件。 我只想用一个创意窗口处理多个项目。sbt工具栏可以执行正确项目的任务

    谢谢

    编辑

    这是一个重新创建我所面临的问题的过程:

  • 调用
    learner
  • 从sbt工具栏
  • 问题是:
  • publishLocal
    任务也是如此。它将当前项目设置为root2,并发布一个root2工件。
    应该是,sbt会将当前项目设置为
    learner

    我不久前在IntelliJ上遇到了这个问题,但当时我的项目与
    sbt
    无关。该项目包含两个使用不同编程语言的不同应用程序,因此它们不能有一个通用的构建文件

    但是我找到了一个解决这个问题的方法,就是使用IntelliJ
    模块。这些
    模块将允许您在当前工作区内创建不同的项目

    您可以在文件->项目结构中访问它…->模块(在左面板中)


    我认为您可以使用此功能来实现预期结果。希望有帮助

    我试过了。。它就像sbt工具栏中的
    +
    按钮一样。如果你说它适合你(而且项目使用不同的语言),那么我试着认为这是sbt工具栏的问题,在执行sbt任务时它无法加载正确的项目