gpt4 book ai didi

scala - 在 SBT-Scalatra 项目中添加本地依赖 jar

转载 作者:行者123 更新时间:2023-12-02 06:18:11 24 4
gpt4 key购买 nike

我正在开发一个示例 Scalatra webapp。我又创建了一个包含 dao 和服务层的服务 jar。我想在 Scalatra-SBT 项目中添加这个依赖项。我怎样才能做到这一点?

我使用命令捆绑了我的服务 jar: SBT封装这创造了一个 jar 。我将如何在 Web 应用程序中包含这个 jar?我可以在 build.scala 文件中添加这个吗?或者我可以复制到任何 Webapp 文件夹中吗?

是否可以将这个 jar 推送到本地存储库并在我的 webapp 构建时从那里提取它?

最佳答案

哇!这里有很多问题!

好消息是 SBT 可以完成您要求的所有任务。

不要复制 JAR 文件来满足依赖关系! 它最终会流泪,几乎可以保证。像 Ivy 和 Maven(以及通过扩展,SBT)这样的工具可以提供帮助。

将您的服务 jar 推送到本地存储库:

SBT 任务是 publish-local , 即 sbt publish-local从您的服务 jar 的根目录。
您将看到许多描述性输出,最后是以下格式的行:
[info] published services_2.10 to /Users/millhouse/.ivy2/local/services/services_2.10/0.1-SNAPSHOT/jars/services_2.10.jar
您不需要在您的 build.sbt 中做任何特别的事情只要您拥有 name,就可以完成这项工作。和 scalaVersion变量设置。请注意,这将发布到您本地的 Ivy 缓存,即 $HOME/.ivy2/local对大多数人来说。

要让您的 Scalatra-SBT 网络应用程序拿起您的服务 jar:

编辑您的 web 应用程序的 project/build.scala ,在 libraryDependencies 下添加此依赖项键(应该已经有一些依赖项,每行一个,把你的放在中间!):
"services" %% "services" % "0.1-SNAPSHOT",
执行 sbt clean update并且你的依赖会被拉进来。如果它不起作用,SBT 会给你一个它寻找工件的地方的列表;将其与发布到的位置(在上一步中)密切比较,您可能会发现拼写错误;修复它并重试。

请注意,依赖项和发布管理比我上面展示的要多得多,但这应该足以让您继续前进。

关于scala - 在 SBT-Scalatra 项目中添加本地依赖 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20365975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com