scala – 使sbt-assembly工作
所以到目前为止,我已经用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:未找到. 我究竟做错了什么? 谢谢! 编辑 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 > 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") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |