加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 使sbt-assembly工作

发布时间:2020-12-16 09:11:11 所属栏目:安全 来源:网络整理
导读:所以到目前为止,我已经用SBT(通过Typesafe堆栈)编译了我的 Scala项目.我现在要通过 sbt-assembly运行几个机器的代码.按照说明,我所做的唯一一个更改是在我的项目/ Build.scala文件中.以下是相关部分: resolvers += "Typesafe Releases" at "http://repo.typ
所以到目前为止,我已经用SBT(通过Typesafe堆栈)编译了我的 Scala项目.我现在要通过 sbt-assembly运行几个机器的代码.按照说明,我所做的唯一一个更改是在我的项目/ Build.scala文件中.以下是相关部分:

resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases",resolvers += "artifactory" at "http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases",libraryDependencies += "com.eed3si9n" % "sbt-assembly" % "0.8.3"

当我运行sbt编译但是,我得到这个错误:

sbt.ResolveException:未解决的依赖关系:com.eed3si9n#sbt-assembly / scala_2.9.1 / sbt_0.11.2; 0.8.3:未找到.

我究竟做错了什么?

谢谢!

编辑
在与Build.scala(folder is / project /)相同的文件夹中创建一个build.sbt文件,并在其中包含这两行:

Seq[Setting[_]](resolvers += "artifactory" at "http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases",addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.8.3"))

现在的错误是:

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.eed3si9n#sbt-assembly;0.8.3: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      com.eed3si9n:sbt-assembly:0.8.3 (sbtVersion=0.11.2,scalaVersion=2.9.1)
[warn] 
[error] {file:/Users/myname/current/projectname/project/}default-d7da9a/*:update: sbt.ResolveException: unresolved dependency: com.eed3si9n#sbt-assembly;0.8.3: not found

编辑2
嗯,在我做了一个成功的sbt编译之后,我应该能够进入sbt控制台并输入汇编吗?

> assembly
[error] Not a valid command: assembly
[error] Not a valid project ID: assembly
[error] Not a valid configuration: assembly
[error] Not a valid key: assembly
[error] assembly
[error]

编辑3 JK得到它.必须添加在GitHub自述文件中指定的build.sbt信息.

解决方法

这里有两点.一个是SBT插件不仅仅是库依赖 – 特别是他们以与其他Scala库使用Scala版本相似的方式使用当前的SBT版本.另一个是项目/ Build.scala中的libraryDependencies会影响项目的依赖关系,而不是构建项目的依赖关系.

SBT完整版本本身就是一个SBT项目,只是位于目录树的一个层次上,所以可以使用自己的构建与普通构建相同的方式.与正常构建不同,在少数情况下需要进行“完整构建”,几乎没有理由使用完整构建构建,因此使用位于项目/中的.sbt文件几乎总是足够的.

另一个问题是版本控制. SBT具有一个名为addSbtPlugin的实用程序函数,用于处理所有内容.它需要一个moduleID并添加所有必要的SBT和Scala版本信息.

所以,要使sbt-assembly工作在完整的版本中,您可以在项目/(通常是project / build.sbt或project / plugins.sbt)下创建一个.sbt文件,并将您的构建的解析器和依赖项放在那里:

resolvers += Resolver.url("artifactory",url("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.8.3")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读