1

我正在尝试使用 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

看起来有两个问题正在发生。

  1. 连接到上述存储库时出现证书问题
  2. 即使设置了标志 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]  ::::::::::::::::::::::::::::::::::::::::::::::
4

1 回答 1

0

看看我发布的这个, https://stackoverflow.com/a/48671697/3169330

本质上,你需要一个 sbt 的配置选项

于 2018-02-07T19:22:07.877 回答