0

I am new to IntelliJ IDEA, Scala, sbt etc. I am just trying to set up my project with no code yet, added the library dependencies and added the assembly.sbt to create the fat / uber jar. Here are my details, but I get unresolved dependencies issue with SSLHandshakeException.

chose the following while setting up project sbt version: 1.2.3 scala version : 2.11.8,

build.sbt

name := "untitled4"

version := "0.1"

scalaVersion := "2.11.8"

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.3.0" % "provided"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.3.0" % "provided"

assemblyMergeStrategy in assembly := {
  case PathList("META-INF", xs @ _*) => MergeStrategy.discard
  case x => MergeStrategy.first
}

build.properties

sbt.version = 1.2.3

assembly.sbt under project/

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6")

I don't understand two things, why does it defaults to scala 2.12 and sbt 1.0 (see stack trace below) and why the unresolved dependencies error.

I have tried adding certificates to my keystore thinking it might be that with no success.

i also tried to access both the url's it provides in the stack trace below, and i get this error "The requested path was not found."

stacktrace Error while importing sbt project:

[info] Loading global plugins from C:\Users\xxxxx\.sbt\1.0\plugins
[info] Loading settings for project untitled4-build from assembly.sbt ...
[info] Loading project definition from C:\Users\xxxxx\IdeaProjects\untitled4\project
[info] Updating ProjectRef(uri("file:/C:/Users/xxxxx/IdeaProjects/untitled4/project/"), "untitled4-build")...

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.eed3si9n#sbt-assembly;0.14.6: Resolution failed several times for dependency: com.eed3si9n#sbt-assembly;0.14.6 {compile=[default(compile)]}::
[warn]  typesafe-ivy-releases: unable to get resource for com.eed3si9n#sbt-assembly;0.14.6: res=https://repo.typesafe.com/typesafe/ivy-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.6/ivys/ivy.xml: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[warn]  sbt-plugin-releases: unable to get resource for com.eed3si9n#sbt-assembly;0.14.6: res=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.6/ivys/ivy.xml: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      com.eed3si9n:sbt-assembly:0.14.6 (scalaVersion=2.12, sbtVersion=1.0)
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]      com.eed3si9n:sbt-assembly:0.14.6 (scalaVersion=2.12, sbtVersion=1.0) (C:\Users\xxxxx\IdeaProjects\untitled4\project\assembly.sbt#L1-2)
[warn]        +- default:untitled4-build:0.1.0-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0)
[error] sbt.librarymanagement.ResolveException: unresolved dependency: com.eed3si9n#sbt-assembly;0.14.6: Resolution failed several times for dependency: com.eed3si9n#sbt-assembly;0.14.6 {compile=[default(compile)]}::
[error]     typesafe-ivy-releases: unable to get resource for com.eed3si9n#sbt-assembly;0.14.6: res=https://repo.typesafe.com/typesafe/ivy-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.6/ivys/ivy.xml: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error]     sbt-plugin-releases: unable to get resource for com.eed3si9n#sbt-assembly;0.14.6: res=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.6/ivys/ivy.xml: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error]
[error]     at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:332)
[error]     at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1(IvyActions.scala:208)
[error]     at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:239)
[error]     at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:204)
[error]     at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:70)
[error]     at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77)
[error]     at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:95)
[error]     at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:80)
[error]     at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.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$1(LibraryManagement.scala:45)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:93)
[error]     at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:68)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$19(LibraryManagement.scala:106)
[error]     at scala.util.control.Exception$Catch.apply(Exception.scala:224)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:106)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:89)
[error]     at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:149)
[error]     at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:120)
[error]     at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2550)
[error]     at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error]     at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40)
[error]     at sbt.std.Transform$$anon$4.work(System.scala:67)
[error]     at sbt.Execute.$anonfun$submit$2(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$1(Execute.scala:269)
[error]     at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error]     at sbt.CompletionService$$anon$2.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.eed3si9n#sbt-assembly;0.14.6: Resolution failed several times for dependency: com.eed3si9n#sbt-assembly;0.14.6 {compile=[default(compile)]}::
[error]     typesafe-ivy-releases: unable to get resource for com.eed3si9n#sbt-assembly;0.14.6: res=https://repo.typesafe.com/typesafe/ivy-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.6/ivys/ivy.xml: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error]     sbt-plugin-releases: unable to get resource for com.eed3si9n#sbt-assembly;0.14.6: res=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.6/ivys/ivy.xml: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Invalid response.
N K
  • 1
  • 1
  • I am not sure if this can help, but can you check the default scala version on your system? Also, check version in the file ~/.sbt/1.2.3/global.sbt, if there's any just remove and try giving it try. If even that isn't working I would suggest looking at this URL: https://stackoverflow.com/questions/35756520/librarydependencies-for-com-eed3si9nsbt-assembly0-13-0-not-found – tush4r Feb 13 '19 at 15:05
  • Possible duplicate of [libraryDependencies for com.eed3si9n#sbt-assembly;0.13.0: not found](https://stackoverflow.com/questions/35756520/librarydependencies-for-com-eed3si9nsbt-assembly0-13-0-not-found) – pme Feb 13 '19 at 15:50

2 Answers2

1

One confusion here is the Scala version with which sbt itself runs, and the version of your project. sbt 1.x runs on Scala 2.12, that is why you are getting a message that shows this version.

The next confusion is between "binary compatibility" version of sbt and the one you are running. All 1.x versions of sbt have the "binary" version 1.0.

The actual error here is this part:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

This could be because your JDK and the included SSL certificates are out of date. Which JDK are you running and does upgrading to a current release of JDK8 help?

Justin Kaeser
  • 5,868
  • 27
  • 46
  • 1
    I updated my cacerts file, and upgraded to openJDK 1.8.0.81 but still kept having issues. eventually I installed on a different machine with exact java version an it worked, so not sure what the issue is on my primary development machine. still having the issue though. – N K Feb 19 '19 at 15:46
0

Add this resolver to your assembly.sbt

resolvers += Resolver.bintrayIvyRepo("com.eed3si9n", "sbt-plugins")

Also, add this line your merge strategy in case you are using any configuration(.conf) files

case "reference.conf" => MergeStrategy.concat