gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 06:02:30 25 4
gpt4 key购买 nike

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

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

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

最佳答案

我也在寻找你的问题的解决方案。但是,在那之前,我希望能提供一个可以接受的解决方法。

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

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

之后,您需要使用 指定对 OtherProject 的依赖项。依赖 :
lazy val myProjectRoot = project.in(file(".")).settings(...).dependsOn(otherProject)

IntelliJ 然后将 OtherProject 导入当前工作区,您可以在两者上工作。

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

关于scala - 使用 IntelliJ 处理多个相互依赖的 SBT 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44061456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com