繁体   English   中英

是否可以引用具有不同SBT版本的项目?

[英]Is it possible to reference a project with a different SBT version?

我有基于sbt 0.10的项目 (仅用于sbt实验)。 我想用作依赖项的另一个 它基于sbt 0.7。

目前,我正在尝试使用uri reference将其包含在我的项目项目中。 但是构建失败,可能是因为这些项目中的sbt版本不兼容。 错误消息是:

[info] Compiling 1 Scala source to /home/zan/.sbt/staging/113d72bca54918c1f033/project/plugins/target/scala-2.8.1.final/classes...
[error] /home/zan/.sbt/staging/113d72bca54918c1f033/project/plugins/Plugins.scala:1: not found: value sbt
[error] import sbt._
[error]        ^
[error] /home/zan/.sbt/staging/113d72bca54918c1f033/project/plugins/Plugins.scala:3: too many arguments for constructor Object: ()java.lang.Object
[error] class Plugins(info: ProjectInfo) extends PluginDefinition(info)  {
[error]              ^

... 等等。

我可以以某种方式引用第二个项目,以便仅使用一个命令就能开帐单和/或运行我的项目吗?

仅当两个项目都使用SBT 0.10时,才支持SBT跨项目引用。 但是您可以使用发布和工件,并通过Ivy从下游项目中依靠它。

在第一个项目中发出publish-local命令,以将代码打包到JAR中并将其写入~/.ivy2/local/org.abc.def/...

在SBT 0.10项目中,添加以下设置:

libraryDependencies += "org.abc" %% "def" % "0.1"

暂无
暂无

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

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