sbt无法切换到使用ProjectRef从github导入的项目

问题描述 投票:1回答:2

我有一个sbt(播放)应用程序,它需要依赖于另一个sbt(播放)多模块应用程序。我使用本地应用程序的ProjectRef导入build.sbt,如下所示

lazy val aaaroot = ProjectRef(uri("https://github.com/abcd/abcd.git"), "aaaroot")
lazy val core = ProjectRef(uri("https://github.comabcd/abcd.git"), "core")
lazy val zeusEvolutions = ProjectRef(uri("https://github.com/abcd/abcd.git"), "zeusEvolutions")

lazy val aaaaaaaroot = (project in file(".")).enablePlugins(PlayJava).dependsOn(aaaroot, core, zeusEvolutions).aggregate(aaaroot, core, zeusEvolutions)

显示项目已正确导入的SBT控制台,如

[play-multiple] $ projects
[info] In file:/Users/RP/LeanTaaS/play-multiple/
[info]   * aaaaaaaroot
[info] In https://github.com/abcd/abcd.git
[info]     aaaroot
[info]     core
[info]     zeusEvolutions

但是我切换到从github导入的项目,说的是Not a valid project

[play-multiple] $ project aaaroot
[error] Not a valid project ID: aaaroot (similar: aaaaaaaroot)
[error] project aaaroot
[error]                ^
[play-multiple] $ project core
[error] Not a valid project ID: core
[error] project core
[error]             ^

这是我的问题之一,实际的问题是当我将我的应用程序路由引用到导入项目的路由时,它找不到它们。我认为此问题可能是实际问题的根本原因。

有人可以帮我吗?

scala playframework playframework-2.0 sbt
2个回答
0
投票

我了解到,除非它是project <project_id>,否则无法使用Project切换到项目。 http://www.scala-sbt.org/0.13/docs/Command-Line-Reference.html#General+commands

通过将子应用程序声明为虚拟根项目中的子项目,我能够解决实际问题(在另一个Play应用程序中引用了Play应用程序)。不确定确切原因是什么,但是经过多次尝试和源代码调试之后,这种方法才有效

现在我的构建看起来像,

lazy val aaaroot = ProjectRef(uri("https://github.com/abcd/abcd.git"), "aaaroot")
lazy val core = ProjectRef(uri("https://github.comabcd/abcd.git"), "core")
lazy val zeusEvolutions = ProjectRef(uri("https://github.com/abcd/abcd.git"), "zeusEvolutions")

lazy val aaaaaaaroot = (project in file(".")).enablePlugins(PlayJava).dependsOn(aaaapp, aaaroot, core, zeusEvolutions).aggregate(aaaapp, aaaroot, core, zeusEvolutions)

lazy val aaaapp = (project in file("modules/play-multiple)......

0
投票

这应该起作用:

[play-multiple] $ project {file:/Users/RP/LeanTaaS/play-multiple/aaaroot}

您还将在此处获得制表符补全。例如,输入project {,然后输入<TAB>

虽然不漂亮,但是可以。

© www.soinside.com 2019 - 2024. All rights reserved.