这可能是一个简单的问题,但我一直没有找到答案。当我通过build.sbt将库导入Scala时,是否有办法根据sbt libraryDependency来推断导入语句应该是什么样子?
现在我正在尝试使用flexmark包,我可以通过在项目中添加 "com.vladsch.flexmark" % "flexmark-all" % "0.61.26",
到我的 sbt libraryDependencies 中。
然而,我并不清楚我应该如何将它实际导入到代码中--即我的导入语句应该是什么样子的。我可以从sbt libraryDependency中猜测吗?或者我应该尝试从每个项目的文档中获取它?如果我看看我还在使用什么,我看不到任何清晰的模式。过去我在不知道这些的情况下也能凑合着用,但在这个问题上我遇到了一点障碍。先谢谢大家的帮助。
IDE可以帮助自动导入,例如在IntelliJ中,你输入名称,然后输入 Alt + Enter
.
在没有IDE支持的情况下,你就必须查找ScaladocJavadoc。
另一个选择是搜索在线仓库,比如说,GitHub仓库,看看源代码中的包声明。
媒体 t
激活文件查找器
开始输入名称,如果你幸运的话,它将与文件名相对应。
我认为没有依赖性。
当你在Nexus上发布库时,你会被要求证明你对你作为组织使用的域名有一定的权利。所以,例如,如果你是以下域名的所有人 example.com
然后你可以在 com.example
- 但Nexus或Sonatype的维护者或其他人会要求你提供一个证明,证明你拥有这个域名--例如通过设置一些DNS记录。
这与您如何命名您的软件包没有任何关系,而您的用户将如何导入它们。您可以遵循同样的命名规则,使用 com.example
作为包名。但是由于很多原因,人们可能不愿意这样做,如
org.typelevel
条理 org.typelevel.cats
会很长,也很烦人,所以他们选择用简单的 cats
io.monix
纵横捭阖 monix
org.julienrf
组织,而代码则是生活在 endpoints
包裹等。
它们是完全独立的,如果有人让它保持一致,那只是因为他们选择这样使用,而不是因为他们不得不这样做。所以只要检查一下文档,也许就可以使用IntellIJ的自动导入。