我正在尝试使用 sbt(scala 版本 - 2.11.8,sbt 版本 - 0.13.11,OS - MAC)构建一个 scala 项目。我收到以下工件的未解决依赖项错误。我尝试在公司网络内部和网络外部运行。我的同事能够毫无问题地构建相同的项目。
co.blocke#gitflow-packager;0.1.3: 未找到 com.eed3si9n#sbt-buildinfo;0.5.0: 未找到
这是我在执行“sbt compile”时得到的错误的完整跟踪
[info] Resolving co.blocke#gitflow-packager;0.1.3 ...
[error] Server access Error: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target url=https://repo.typesafe.com/typesafe/ivy-releases/co.blocke/gitflow-packager/scala_2.10/sbt_0.13/0.1.3/ivys/ivy.xml
[error] Server access Error: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target url=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/co.blocke/gitflow-packager/scala_2.10/sbt_0.13/0.1.3/ivys/ivy.xml
[error] Server access Error: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target url=https://repo1.maven.org/maven2/co/blocke/gitflow-packager_2.10_0.13/0.1.3/gitflow-packager-0.1.3.pom
[error] Server access Error: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target url=https://repository.jboss.org/nexus/content/repositories/co/blocke/gitflow-packager_2.10_0.13/0.1.3/gitflow-packager-0.1.3.pom
[warn] module not found: co.blocke#gitflow-packager;0.1.3
看起来有两个问题正在发生。
- 连接到上述存储库时出现证书问题
- 即使设置了标志 useJCenter := true ,它也没有连接到 bintray/jcenter(这是在 jcenter 中查找 sbt 版本 0.13.11 的依赖项所需的标志)。
BuildSettings.scala
lazy val basicSettings = scalariformSettings ++ Seq(
organization := "com.abc",
description := "Microservice core infrastructure",
startYear := Some(2015),
scalaVersion := Scala,
parallelExecution in Test := false,
useJCenter := true,
// externalResolvers := Resolver.withDefaultResolvers(resolvers.value, mavenCentral = false),
ScalariformKeys.preferences := ScalariformKeys.preferences.value
.setPreference(AlignArguments, true)
.setPreference(AlignParameters, true)
.setPreference(AlignSingleLineCaseStatements, true)
.setPreference(DoubleIndentClassDeclaration, true)
.setPreference(PreserveDanglingCloseParenthesis, true),
// resolvers ++= Dependencies.resolutionRepos,
scalacOptions := Seq("-feature", "-deprecation", "-encoding", "UTF8", "-unchecked"),
testOptions in Test += Tests.Argument("-oDF")
// DON'T set a version! gitflow-packager plugin does this for us based on git-flow branch
)
}
更新: 更新 java 证书后,证书问题似乎已经解决。这解决了以下依赖问题
com.eed3si9n#sbt-buildinfo;0.5.0:
但是, co.blocke#gitflow-packager;0.1.3: 的依赖问题仍然存在。我可以在http://dl.bintray.com/blocke/releases/co.blocke/gitflow-packager/scala_2.10/sbt_0.13/0.1.3/jars/中看到依赖关系,但 sbt 编译仍然没有对于 jcenter。
这是更新的日志。
[info] Resolving co.blocke#gitflow-packager;0.1.3 ...
[warn] module not found: co.blocke#gitflow-packager;0.1.3
[warn] ==== typesafe-ivy-releases: tried
[warn] https://repo.typesafe.com/typesafe/ivy-releases/co.blocke/gitflow-packager/scala_2.10/sbt_0.13/0.1.3/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/co.blocke/gitflow-packager/scala_2.10/sbt_0.13/0.1.3/ivys/ivy.xml
[warn] ==== local: tried
[warn] /Users/abc123/.ivy2/local/co.blocke/gitflow-packager/scala_2.10/sbt_0.13/0.1.3/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/co/blocke/gitflow-packager_2.10_0.13/0.1.3/gitflow-packager-0.1.3.pom
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: co.blocke#gitflow-packager;0.1.3: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::