向 Scala 项目添加依赖项 (sbt)

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/16879802/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-22 05:21:20  来源:igfitidea点击:

Adding dependencies to a Scala project (sbt)

javascalagithubdependenciessbt

提问by

There is a library I want to use https://github.com/randhindi/jerksonin Scala project. I might add something like this to build.sbtwhich is located in a project's base directory:

我想在 Scala 项目中使用https://github.com/randhindi/jerkson一个库。我可能会build.sbt在项目的基本目录中添加类似这样的内容:

libraryDependencies += "com.domain_example" % "library_name_test123" % "0.1.1"

But where do I get all those data: domain name, library name, version? There is no such data at https://github.com/randhindi/jerkson

但是我从哪里获得所有这些数据:域名、库名、版本?https://github.com/randhindi/jerkson没有这样的数据

So what do I need to do to use it?

那么我需要做什么才能使用它?

采纳答案by Mingyu

Here's a link to the Typesafe repository, which is the official repository maintained by Typesafe:

这是Typesafe 存储库的链接,它是 Typesafe 维护的官方存储库:

http://repo.typesafe.com/typesafe/webapp/browserepo.html?2

http://repo.typesafe.com/typesafe/webapp/browserepo.html?2

Type jerksonin the search box, which will show you all the related projects hosted on the repository.

在搜索框中键入jerkson,这将显示存储库中托管的所有相关项目。

You should be able to see the path, such as:

您应该能够看到路径,例如:

com/codahale/jerkson_2.8.2/0.5.0

You can decompose it to 3 components.

您可以将其分解为 3 个组件。

Try this:

试试这个:

libraryDependencies += "com.codahale" % "jerkson_2.8.2" % "0.5.0"

If you want the latest integration, you may use latest.integrationas the third parameter

如果你想要最新的集成,你可以使用latest.integration作为第三个参数

libraryDependencies += "com.codahale" % "jerkson_2.8.2" % "latest.integration"

In general, I would try Maven repositoryfirst.

一般来说,我会先尝试Maven 存储库

Here's what Maven repository looks like:

这是 Maven 存储库的样子:

http://mvnrepository.com/artifact/com.bealetech/metrics-statsd/2.3.0

http://mvnrepository.com/artifact/com.bealetech/metrics-statsd/2.3.0

This is nice because you can see a tab for sbt, and you can simply copy that to your code. Unfortunately, I did not see the library you want in Maven.

这很好,因为您可以看到 sbt 的选项卡,您可以简单地将其复制到您的代码中。不幸的是,我在 Maven 中没有看到您想要的库。

回答by joescii

Based on your comments to the other answers, I believe what you wish to do is specify the dependency directly to the github URL. This has been asked before. Both answers are correct and should prove useful for you.

根据您对其他答案的评论,我相信您希望做的是直接指定对 github URL 的依赖。这已经被问过了。这两个答案都是正确的,应该对您有用。

回答by Ezhik

If you don't want to investigate build configuration then you may clone repository and do publish-local. There will be artifact information. Also you add artifact to your local Ivy repository. In this case:

如果您不想调查构建配置,那么您可以克隆存储库并执行publish-local. 会有神器信息。您还将工件添加到本地 Ivy 存储库。在这种情况下:

[info]  published jerkson_2.10 to /home/ezh/.ivy2/local/jerkson/jerkson_2.10/0.1-SNAPSHOT/...

In your case

在你的情况下

"jerkson" %% "jerkson" % "0.1-SNAPSHOT"

or

或者

"jerkson" % "jerkson_2.10" % "0.1-SNAPSHOT"

Library builded against Scala 2.10

针对 Scala 2.10 构建的库

Full log:

完整日志:

ezh@devbox ~/ze $ git clone https://github.com/randhindi/jerkson.git
Cloning into 'jerkson'...
remote: Counting objects: 3093, done.
remote: Compressing objects: 100% (1203/1203), done.
remote: Total 3093 (delta 984), reused 2863 (delta 790)
Receiving objects: 100% (3093/3093), 436.47 KiB | 177 KiB/s, done.
Resolving deltas: 100% (984/984), done.
ezh@devbox ~/ze $ cd jerkson/
ezh@devbox ~/ze/jerkson $ sbt-0.12 publish-local
[info] Loading project definition from /home/ezh/ze/jerkson/project
[info] Updating {file:/home/ezh/ze/jerkson/project/}default-b33f9c...
[info] Resolving org.scala-sbt#precompiled-2_10_1;0.12.4-RC1 ...
[info] Done updating.
[info] Compiling 1 Scala source to /home/ezh/ze/jerkson/project/target/scala-2.9.2/sbt-0.12/classes...
[info] Set current project to jerkson (in build file:/home/ezh/ze/jerkson/)
[info] Updating {file:/home/ezh/ze/jerkson/}jerkson...
[info] Packaging /home/ezh/ze/jerkson/target/scala-2.10/jerkson_2.10-0.1-SNAPSHOT-sources.jar ...
[info] Wrote /home/ezh/ze/jerkson/target/scala-2.10/jerkson_2.10-0.1-SNAPSHOT.pom
[info] Resolving org.scala-lang#scala-library;2.10.0 ...
[info] Done packaging.
[info] Resolving org.hamcrest#hamcrest-core;1.1 ...
[info] downloading http://oss.sonatype.org/content/groups/public/com/fasterxml/Hymanson/core/Hymanson-core/2.1.1/Hymanson-core-2.1.1.jar ...
[info]  [SUCCESSFUL ] com.fasterxml.Hymanson.core#Hymanson-core;2.1.1!Hymanson-core.jar (2325ms)
[info] downloading http://oss.sonatype.org/content/groups/public/com/fasterxml/Hymanson/core/Hymanson-databind/2.1.1/Hymanson-databind-2.1.1.jar ...
[info]  [SUCCESSFUL ] com.fasterxml.Hymanson.core#Hymanson-databind;2.1.1!Hymanson-databind.jar (2351ms)
[info] downloading http://oss.sonatype.org/content/groups/public/org/mockito/mockito-all/1.9.0/mockito-all-1.9.0.jar ...
[info]  [SUCCESSFUL ] org.mockito#mockito-all;1.9.0!mockito-all.jar (7677ms)
[info] downloading http://oss.sonatype.org/content/groups/public/junit/junit/4.10/junit-4.10.jar ...
[info]  [SUCCESSFUL ] junit#junit;4.10!junit.jar (1337ms)
[info] downloading http://oss.sonatype.org/content/groups/public/com/fasterxml/Hymanson/core/Hymanson-annotations/2.1.1/Hymanson-annotations-2.1.1.jar ...
[info]  [SUCCESSFUL ] com.fasterxml.Hymanson.core#Hymanson-annotations;2.1.1!Hymanson-annotations.jar (1384ms)                                                                                   
[info] Done updating.                                                                                                                                                                         
[info] :: delivering :: jerkson#jerkson_2.10;0.1-SNAPSHOT :: 0.1-SNAPSHOT :: integration :: Sun Jun 02 09:22:19 MSK 2013                                                                      
[info]  delivering ivy file to /home/ezh/ze/jerkson/target/scala-2.10/ivy-0.1-SNAPSHOT.xml                                                                                                    
[info] Compiling 77 Scala sources and 1 Java source to /home/ezh/ze/jerkson/target/scala-2.10/classes...                                                                                      
[info] Generating Scala API documentation for main sources to /home/ezh/ze/jerkson/target/scala-2.10/api...                                                                                   
[info] 'compiler-interface' not yet compiled for Scala 2.10.0. Compiling...                                                                                                                   
[info]   Compilation completed in 10.168 s                                                                                                                                                    
[warn] there were 51 feature warnings; re-run with -feature for details                                                                                                                       
model contains 312 documentable templates                                                                                                                                                     
[warn] /home/ezh/ze/jerkson/src/main/scala/com/codahale/jerkson/util/scalax/rules/Rules.scala:67: Tag '@requires' is not recognised                                                           
[warn] /A factory for rules that apply to a particular context.                                                                                                                             
[warn] ^                                                                                                                                                                                      
[warn] two warnings found                                                                                                                                                                     
[info] Scala API documentation generation successful.                                                                                                                                         
[info] Packaging /home/ezh/ze/jerkson/target/scala-2.10/jerkson_2.10-0.1-SNAPSHOT-javadoc.jar ...                                                                                             
[info] Done packaging.                                                                                                                                                                        
[warn] there were 17 deprecation warnings; re-run with -deprecation for details                                                                                                               
[warn] there were 1 unchecked warnings; re-run with -unchecked for details                                                                                                                    
[warn] there were 51 feature warnings; re-run with -feature for details                                                                                                                       
[warn] three warnings found
[warn] Error reading API from class file : java.lang.UnsupportedClassVersionError: com/codahale/jerkson/JsonSnakeCase : Unsupported major.minor version 51.0
[info] Packaging /home/ezh/ze/jerkson/target/scala-2.10/jerkson_2.10-0.1-SNAPSHOT.jar ...
[info] Done packaging.
[info]  published jerkson_2.10 to /home/ezh/.ivy2/local/jerkson/jerkson_2.10/0.1-SNAPSHOT/poms/jerkson_2.10.pom
[info]  published jerkson_2.10 to /home/ezh/.ivy2/local/jerkson/jerkson_2.10/0.1-SNAPSHOT/jars/jerkson_2.10.jar
[info]  published jerkson_2.10 to /home/ezh/.ivy2/local/jerkson/jerkson_2.10/0.1-SNAPSHOT/srcs/jerkson_2.10-sources.jar
[info]  published jerkson_2.10 to /home/ezh/.ivy2/local/jerkson/jerkson_2.10/0.1-SNAPSHOT/docs/jerkson_2.10-javadoc.jar
[info]  published ivy to /home/ezh/.ivy2/local/jerkson/jerkson_2.10/0.1-SNAPSHOT/ivys/ivy.xml
[success] Total time: 56 s, completed 02.06.2013 9:22:48