我已经将Vespa添加到sbt项目中:
libraryDependencies += "com.yahoo.vespa" % "vespa-http-client" % "6.225.3"这会导致以下模块解析失败:
[warn] Detected merged artifact: [FAILED ] com.yahoo.vespa#component;6.225.3!component.container-plugin: (0ms).
[warn] Detected merged artifact: [FAILED ] com.yahoo.vespa#vespajlib;6.225.3!vespajlib.container-plugin: (0ms).
[warn] ==== local: tried
[warn] ==== local: tried
[warn] ==== public: tried
[warn] ==== public: tried
[warn] ==== local-preloaded-ivy: tried
[warn] https://repo1.maven.org/maven2/com/yahoo/vespa/component/6.225.3/component-6.225.3.container-plugin
[warn] C:\Users\gary\.sbt\preloaded\com.yahoo.vespa\vespajlib\6.225.3\container-plugins\vespajlib.container-plugin
[warn] ==== local-preloaded-ivy: tried
[warn] ==== local-preloaded: tried
[warn] C:\Users\gary\.sbt\preloaded\com.yahoo.vespa\component\6.225.3\container-plugins\component.container-plugin
[warn] file:/C:/Users/gary/.sbt/preloaded/com/yahoo/vespa/vespajlib/6.225.3/vespajlib-6.225.3.container-plugin
[warn] ==== local-preloaded: tried
[warn] file:/C:/Users/gary/.sbt/preloaded/com/yahoo/vespa/component/6.225.3/component-6.225.3.container-plugin旧版本和最新sbt (1.1.1)均失败。
发布于 2018-03-28 08:59:19
默认情况下,SBT使用工件的打包类型作为文件扩展名。我们的component工件(和很多其他工件)的pom.xml使用打包类型container-plugin,而实际的jar文件当然有标准的jar后缀。
因此,您需要为这些工件手动配置带有文件后缀的SBT。我不知道是否有一种方便的方法可以同时对一组依赖项执行此操作,因为我不是SBT专家。但是对于每个出现此错误的工件,您可以尝试执行以下操作:
libraryDependencies += "com.yahoo.vespa" % "component" % "6.225.3" artifacts( Artifact("component", "", "jar"))我是在this SO answer中找到的,还没有亲自测试过。也许您可以在Using dependencies with artifacts上的SBT参考手册中找到一些有用的信息。
发布于 2018-03-27 23:35:10
下面是vespa-http-cient的依赖关系:https://github.com/vespa-engine/vespa/blob/master/vespa-http-client/pom.xml我不太了解SBT,也许你需要显式地包含这些依赖关系,或者指定包含传递依赖关系。
https://stackoverflow.com/questions/49503340
复制相似问题