为什么 sbt 找不到这些杰克逊依赖项

Why is sbt failing to find these jackson dependency

我正在尝试添加依赖项以支持 java.time jackson 库。这些依赖项是:

val jacksonVersion = "2.9.7"
libraryDependencies += "com.fasterxml.jackson.module" % "jackson-module-parameter-names" % jacksonVersion
libraryDependencies += "com.fasterxml.jackson.module" % "jackson-datatype-jdk8" % jacksonVersion
libraryDependencies += "com.fasterxml.jackson.module" % "jackson-datatype-jsr310" % jacksonVersion

如指定的那样here

问题是 sbt 找不到它们。基于 Maven 网页 here,它们应该在 Maven CentralJCenter 可用,所以我将解析器添加到我的依赖项中:

resolvers += Resolver.JCenterRepository
resolvers += Resolver.DefaultMavenRepository

我知道一个应该足够了,但它们似乎不起作用。他们解析的网址是:

[warn] ==== jcenter: tried
[warn]   https://jcenter.bintray.com/com/fasterxml/jackson/module/jackson-datatype-jsr310/2.9.7/jackson-datatype-jsr310-2.9.7.pom
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/fasterxml/jackson/module/jackson-datatype-jsr310/2.9.7/jackson-datatype-jsr310-2.9.7.pom

但显然他们不在那里。我不知道我错过了什么...

这是 jackson-datatype-jdk8 的错误。

[warn]  Note: Unresolved dependencies path:
[warn]      com.fasterxml.jackson.module:jackson-datatype-jdk8:2.9.7 (/Users/overflow/MyDocuments/JaviOverflowDrive/_workspaces/RandomPlays/eurostar/pipeline/build.sbt#L15-16)
[warn]        +- default:pipeline_2.12:0.1
[warn]      com.fasterxml.jackson.module:jackson-datatype-jsr310:2.9.7 (/Users/overflow/MyDocuments/JaviOverflowDrive/_workspaces/RandomPlays/eurostar/pipeline/build.sbt#L16-17)
[warn]        +- default:pipeline_2.12:0.1
[error] sbt.librarymanagement.ResolveException: unresolved dependency: com.fasterxml.jackson.module#jackson-datatype-jdk8;2.9.7: not found
[error] unresolved dependency: com.fasterxml.jackson.module#jackson-datatype-jsr310;2.9.7: not found
[error]     at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:332)
[error]     at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither(IvyActions.scala:208)
[error]     at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule(Ivy.scala:239)
[error]     at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy(Ivy.scala:204)
[error]     at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action(Ivy.scala:70)
[error]     at sbt.internal.librarymanagement.IvySbt$$anon.call(Ivy.scala:77)
[error]     at xsbt.boot.Locks$GlobalLock.withChannel(Locks.scala:95)
[error]     at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries(Locks.scala:80)
[error]     at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock.apply(Locks.scala:99)
[error]     at xsbt.boot.Using$.withResource(Using.scala:10)
[error]     at xsbt.boot.Using$.apply(Using.scala:9)
[error]     at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:60)
[error]     at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:50)
[error]     at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error]     at xsbt.boot.Locks$.apply(Locks.scala:28)
[error]     at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77)
[error]     at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199)
[error]     at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196)
[error]     at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:238)
[error]     at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:193)
[error]     at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20)
[error]     at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56)
[error]     at sbt.internal.LibraryManagement$.resolve(LibraryManagement.scala:45)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate(LibraryManagement.scala:93)
[error]     at sbt.util.Tracked$.$anonfun$lastOutput(Tracked.scala:68)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate(LibraryManagement.scala:106)
[error]     at scala.util.control.Exception$Catch.apply(Exception.scala:224)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate(LibraryManagement.scala:106)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$adapted(LibraryManagement.scala:89)
[error]     at sbt.util.Tracked$.$anonfun$inputChanged(Tracked.scala:149)
[error]     at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:120)
[error]     at sbt.Classpaths$.$anonfun$updateTask(Defaults.scala:2561)
[error]     at scala.Function1.$anonfun$compose(Function1.scala:44)
[error]     at sbt.internal.util.$tilde$greater.$anonfun$$u2219(TypeFunctions.scala:40)
[error]     at sbt.std.Transform$$anon.work(System.scala:67)
[error]     at sbt.Execute.$anonfun$submit(Execute.scala:269)
[error]     at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error]     at sbt.Execute.work(Execute.scala:278)
[error]     at sbt.Execute.$anonfun$submit(Execute.scala:269)
[error]     at sbt.ConcurrentRestrictions$$anon.$anonfun$submitValid(ConcurrentRestrictions.scala:178)
[error]     at sbt.CompletionService$$anon.call(CompletionService.scala:37)
[error]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error]     at java.lang.Thread.run(Thread.java:748)
[error] sbt.librarymanagement.ResolveException: unresolved dependency: com.fasterxml.jackson.module#jackson-datatype-jdk8;2.9.7: not found
[error] unresolved dependency: com.fasterxml.jackson.module#jackson-datatype-jsr310;2.9.7: not found
[error]     at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:332)
[error]     at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither(IvyActions.scala:208)
[error]     at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule(Ivy.scala:239)
[error]     at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy(Ivy.scala:204)
[error]     at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action(Ivy.scala:70)
[error]     at sbt.internal.librarymanagement.IvySbt$$anon.call(Ivy.scala:77)
[error]     at xsbt.boot.Locks$GlobalLock.withChannel(Locks.scala:95)
[error]     at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries(Locks.scala:80)
[error]     at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock.apply(Locks.scala:99)
[error]     at xsbt.boot.Using$.withResource(Using.scala:10)
[error]     at xsbt.boot.Using$.apply(Using.scala:9)
[error]     at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:60)
[error]     at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:50)
[error]     at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error]     at xsbt.boot.Locks$.apply(Locks.scala:28)
[error]     at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77)
[error]     at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199)
[error]     at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196)
[error]     at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:238)
[error]     at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:193)
[error]     at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20)
[error]     at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56)
[error]     at sbt.internal.LibraryManagement$.resolve(LibraryManagement.scala:45)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate(LibraryManagement.scala:93)
[error]     at sbt.util.Tracked$.$anonfun$lastOutput(Tracked.scala:68)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate(LibraryManagement.scala:106)
[error]     at scala.util.control.Exception$Catch.apply(Exception.scala:224)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate(LibraryManagement.scala:106)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$adapted(LibraryManagement.scala:89)
[error]     at sbt.util.Tracked$.$anonfun$inputChanged(Tracked.scala:149)
[error]     at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:120)
[error]     at sbt.Classpaths$.$anonfun$updateTask(Defaults.scala:2561)
[error]     at scala.Function1.$anonfun$compose(Function1.scala:44)
[error]     at sbt.internal.util.$tilde$greater.$anonfun$$u2219(TypeFunctions.scala:40)
[error]     at sbt.std.Transform$$anon.work(System.scala:67)
[error]     at sbt.Execute.$anonfun$submit(Execute.scala:269)
[error]     at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error]     at sbt.Execute.work(Execute.scala:278)
[error]     at sbt.Execute.$anonfun$submit(Execute.scala:269)
[error]     at sbt.ConcurrentRestrictions$$anon.$anonfun$submitValid(ConcurrentRestrictions.scala:178)
[error]     at sbt.CompletionService$$anon.call(CompletionService.scala:37)
[error]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error]     at java.lang.Thread.run(Thread.java:748)
[error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: com.fasterxml.jackson.module#jackson-datatype-jdk8;2.9.7: not found
[error] unresolved dependency: com.fasterxml.jackson.module#jackson-datatype-jsr310;2.9.7: not found
[error] (ssExtractDependencies) sbt.librarymanagement.ResolveException: unresolved dependency: com.fasterxml.jackson.module#jackson-datatype-jdk8;2.9.7: not found
[error] unresolved dependency: com.fasterxml.jackson.module#jackson-datatype-jsr310;2.9.7: not found

知道为什么没有依赖关系吗?

根据您提供的 link,您的最后 2 个依赖项应该是 datatype :

val jacksonVersion = "2.9.7"
libraryDependencies += "com.fasterxml.jackson.module" % "jackson-module- 
parameter-names" % jacksonVersion
libraryDependencies += "com.fasterxml.jackson.datatype" % "jackson-datatype-jdk8" 
% jacksonVersion
libraryDependencies += "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % jacksonVersion

顺便说一句,已经有更新的版本 - 2.9.8 - 看看 here