首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sbt获取ivy*.xml文件和jar依赖项,而不是jar本身。

sbt获取ivy*.xml文件和jar依赖项,而不是jar本身。
EN

Stack Overflow用户
提问于 2017-03-20 04:55:44
回答 2查看 201关注 0票数 1

我在我的build.sbt文件中提到了一个jar(属于我的组织的工件)

代码语言:javascript
复制
lazy val core =
  module("core", deps = Seq(
    "io.swagger" % "swagger-annotations" % "1.5.8"
  )).settings(
      libraryDependencies ++= Seq(
        "com.quantcast" % "quantserve_shared" % "latest.integration"
      ))

当我编译代码时,我看到这些文件被下载在我的~/.i 2目录中,而不是jar文件夹或任何jar。

代码语言:javascript
复制
ls ./cache/com.quantcast/quantserve_shared/
ivy-3.5.3132.xml                        ivy-3.5.3132.xml.original               ivydata-3.5.3132.properties             ivydata-latest.integration.properties

我查看了我的resolution-cache/reports/audience-link-core-audience-link-core_2.11-compile-internal.xml文件并看到了以下内容:

代码语言:javascript
复制
<module organisation="com.quantcast" name="quantserve_shared">
            <revision name="3.5.3132" status="release" pubdate="20170315145341" resolver="sbt-chain" artresolver="sbt-chain" downloaded="false" searched="true" default="false" conf="compile, default(compile)" position="74">
                <metadata-artifact status="no" details="" size="7161" time="0" location="/Users/pkhurana/.ivy2/cache/com.quantcast/quantserve_shared/ivy-3.5.3132.xml" searched="true" origin-is-local="false" origin-location="http://<My org artifactory>/libs-bmr-releases-local/com/quantcast/quantserve_shared/3.5.3132/ivy-3.5.3132.xml"/>
                <caller organisation="audience-link-core" name="audience-link-core_2.11" conf="compile-internal, compile, provided, optional" rev="latest.integration" rev-constraint-default="latest.integration" rev-constraint-dynamic="latest.integration" callerrev="0.9999999.17.76.111418"/>
                <artifacts>
                </artifacts>
            </revision>
        </module>

因此,工件标记中没有任何内容,但我确实看到其他jar (它们是quantserve_shared jar的依赖项)被下载,并且它们在解析缓存中的条目也很好。

代码语言:javascript
复制
<module organisation="com.twitter.util-core" name="util-core">
            <revision name="1.12.13" status="release" pubdate="20131024042503" resolver="sbt-chain" artresolver="sbt-chain" homepage="" downloaded="false" searched="false" default="false" conf="default, compile, runtime, master" position="127">
                <metadata-artifact status="no" details="" size="2240" time="0" location="/Users/pkhurana/.ivy2/cache/com.twitter.util-core/util-core/ivy-1.12.13.xml" searched="false" origin-is-local="true" origin-location="/Users/pkhurana/.ivy2/quantcast-bmr/com.twitter.util-core/util-core/ivy-1.12.13.xml"/>
                <caller organisation="com.quantcast" name="quantserve_shared" conf="compile" rev="1.12.13" rev-constraint-default="1.12.13" rev-constraint-dynamic="1.12.13" callerrev="3.5.3132"/>
                <artifacts>
                    <artifact name="util-core" type="jar" ext="jar" status="no" details="" size="632306" time="0" location="/Users/pkhurana/.ivy2/quantcast-bmr/com.twitter.util-core/util-core/jars/util-core-1.12.13.jar">
                        <origin-location is-local="true" location="/Users/pkhurana/.ivy2/quantcast-bmr/com.twitter.util-core/util-core/jars/util-core-1.12.13.jar"/>
                    </artifact>
                </artifacts>
            </revision>
        </module>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-03 17:37:08

这是因为依赖jar没有在其ivy文件中指定配置“编译”。它有“主人”与可见公众指定。现在sbt试图在默认情况下找到“编译”,但失败了。这是通过将它更改为

"com.quantcast" % "quantserve_shared" % "3.5.3166" % "compile->master"

票数 0
EN

Stack Overflow用户

发布于 2017-04-12 00:25:00

不知道为什么,但是最新的sbt (0.13.15)下载了所有的东西

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42896107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档