Scala Intellij中的SBT多项目
我试图使用一个Intellij IDEA窗口导入多个项目(不相关)。 我面临的问题是,当我执行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
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任务时它无法加载正确的项目