繁体   English   中英

使用IntelliJ处理多个相互依赖的SBT项目

[英]Working on multiple interdependent SBT projects with IntelliJ

我正在开发一个库和一个并行依赖它的应用程序,我想分别发布它们。 由于我经常编辑两者,我希望能够在IntelliJ中加载它们,以便“转到定义”正常工作(即将我带到另一个项目的可编辑源),并且重建将包含在另一个模块,无需重新运行sbt publishLocal并刷新其他项目。

我设法让IntelliJ通过手动添加多个SBT项目并手动编辑它们的依赖项来实现这一点,但是一旦我添加了库依赖项并刷新了SBT定义,我的编辑就消失了。

我怎样才能让IntelliJ理解另一个项目的libraryDependency依赖应该实现并作为模块导入,而不是从本地maven存储库导入?

我也在寻找你的问题的解决方案。 但是,到那时我可以提供一个可接受的解决方法。

您可以暂时从项目中删除您的Ivy2依赖项,并将其定义为您的sbt中的项目。 例如,如果您的OtherProject与当前项目位于同一目录中,则可以按如下方式添加它:

lazy val otherProject = RootProject(file("../OtherProject")) 

之后,您需要使用dependsOn指定对OtherProject的依赖关系:

lazy val myProjectRoot = project.in(file(".")).settings(...).dependsOn(otherProject)

IntelliJ然后将OtherProject导入当前的工作区,您可以同时处理它们。

在提交之前,您必须将依赖关系恢复为Ivy2规范。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM