我正在开发一个样本的scalatra网络应用程序。我又创建了一个服务jar,它包含了道和服务层。我想在Scalatra-SBT项目中添加这个依赖项。我怎样才能做到这一点?
我使用命令:SBT包捆绑了我的服务jar,它创建了一个jar。我将如何将此jar包含在web应用程序中?我可以把这个添加到build.scala文件中吗?或者我可以复制到任何Webapp文件夹吗?
是否有可能将这个jar推送到本地存储库,并在我的webapp构建时从那里提取它?
发布于 2013-12-04 03:55:48
呼!这里有很多问题!
好消息是SBT可以完成你要求的所有任务。
并不是为了满足依赖关系而复制JAR文件的!将以眼泪告终,实际上是有保证的。像Ivy和Maven这样的工具(顺便说一句,SBT)是来帮忙的。
将您的服务jar推送到本地回购:
SBT任务是publish-local,即服务jar的根目录中的sbt publish-local。您将看到大量的描述性输出,最后以下列格式完成:
[info] published services_2.10 to /Users/millhouse/.ivy2/local/services/services_2.10/0.1-SNAPSHOT/jars/services_2.10.jar
只要设置了build.sbt和scalaVersion变量,您就不需要在您的name中执行任何特殊操作。请注意,这将发布到您的本地常春藤缓存,这是$HOME/.ivy2/local对大多数人。
使您的Scalatra-SBT获取您的服务jar:
编辑webapp的project/build.scala,在libraryDependencies键下添加这个依赖项(应该已经有几个依赖项,每行一个,将您的依赖放在中间!)
"services" %% "services" % "0.1-SNAPSHOT",
执行一个sbt clean update,您的依赖将被拉进来。如果不起作用,SBT将给出查找工件的位置的列表;将其与发布到的位置(在上一步中)进行比较,您可能会找到一个错误;修复它,然后再试一次。
请注意,依赖和发布管理比我前面所展示的要多得多,但是这应该足够让您开始工作了。
https://stackoverflow.com/questions/20365975
复制相似问题