我有一个使用sbt
构建的scala项目。我想导入另一个项目,这个项目也是使用sbt
构建的,并且在我的机器上是本地的。当dependOn一个本地项目时,无法解析依赖关系
我的项目结构如下:
my-project/build.sbt
my-project/external-project/
my-project/external-project/build.sbt
my-project/external-project/...
my-project/src/test
my-project/src/main
my-project/...
我build.sbt
看起来是这样的:
lazy val root = Project("my-project", file("."))
.dependsOn(RootProject(file("./external-project/")))
.settings(
...
)
,这就是sbt "compile"
给我
[warn] Binary version (2.11) for dependency org.scala-lang#scala-library;2.11.8
[warn] in my-project#my-project_2.10;0.1-SNAPSHOT differs from Scala binary version in project (2.10).
[info] Resolving externalproject#externalproject.10;0.1 ...
[warn] module not found: externalproject#externalproject.10;0.1
[warn] ==== local: tried
[warn] /home/martin/.ivy2/local/externalproject/externalproject_2.10/0.1/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/externalproject/externalproject_2.10/0.1/externalproject_2.10-0.1.pom
[info] Resolving com.github.scopt#scopt_2.11;3.5.0 ...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: externalproject#externalproject_2.10;0.1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Unresolved dependencies path:
[warn] externalproject:externalproject_2.10:0.1
[warn] +- my-project:my-project_2.10:0.1-SNAPSHOT
外部项目是git子模块。这两个项目都不以任何方式使用Maven。
我只是想让my-project
中的文件能够导入external-project
中的scala文件,但我无法让它工作。我究竟做错了什么?我需要重塑我的项目吗?
你可以在文件(“external-project”)上替换'RootProject(file(“./ external-project /”))''然后再试一次吗? – tkachuko
我最初尝试过;唯一的区别是不推荐在对象引用中使用/...../my-project/build.sbt:4:warning:method fileToRef:在调用RootProject时显式包装文件。 .dependsOn(file(“./ fpga-tidbits /”))'写在我发布为输出的东西上面。 – MartinHaTh
你也可以分享'external-project'的项目定义吗? – tkachuko