gpt4 book ai didi

scala - 如何将源附加到 Scala IDE 中的 SBT 托管依赖项?

转载 作者:行者123 更新时间:2023-12-03 09:50:57 25 4
gpt4 key购买 nike

我使用 Scala IDE 2.0.1 和 SBT 0.11.2 从 Akka 2.0.1 开始。我的 build.sbt 看起来像这样:

name := "akka"

version := "0.1"

scalaVersion := "2.9.2"

resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"

libraryDependencies += "com.typesafe.akka" % "akka-actor" % "2.0.1"

如您所见,没有什么了不起的。

现在我如何告诉 Eclipse 将工件与 akka-actor 库的源分类器一起使用?

在 SBT 中,我可以使用更新分类器将源代码和 Javadoc 下载到 Ivy 存储库,但即使我在从 sbteclipse 插件运行 eclipse 命令之前执行此操作,Eclipse 仍然不知道源代码。当然,我可以手动执行此操作,但是对于更多库而言,这不能很好地扩展。

我还尝试使用带有 delivery-local 命令的 IvyDE 插件。虽然这集成了依赖管理,但它似乎对来源没有帮助。

有什么线索吗?

编辑:这是从deliver-local生成的ivy.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
<info organisation="default" module="akka_2.9.2" revision="0.1" status="release" publication="20120506225613">
<description>
akka
</description>
</info>
<configurations>
<conf name="compile" visibility="public" description=""/>
<conf name="runtime" visibility="public" description="" extends="compile"/>
<conf name="test" visibility="public" description="" extends="runtime"/>
<conf name="provided" visibility="public" description=""/>
<conf name="optional" visibility="public" description=""/>
<conf name="sources" visibility="public" description=""/>
<conf name="docs" visibility="public" description=""/>
<conf name="pom" visibility="public" description=""/>
</configurations>
<publications>
<artifact name="akka_2.9.2" type="pom" ext="pom" conf="pom"/>
<artifact name="akka_2.9.2" type="jar" ext="jar" conf="compile"/>
<artifact name="akka_2.9.2" type="src" ext="jar" conf="sources" e:classifier="sources"/>
<artifact name="akka_2.9.2" type="doc" ext="jar" conf="docs" e:classifier="javadoc"/>
</publications>
<dependencies>
<dependency org="org.scala-lang" name="scala-library" rev="2.9.2" conf="compile->default(compile)"/>
<dependency org="com.typesafe.akka" name="akka-actor" rev="2.0.1" conf="compile->default(compile)"/>
<exclude org="org.scala-lang" module="scala-library" artifact="*" type="jar" ext="*" matcher="exact"/>
<exclude org="org.scala-lang" module="scala-compiler" artifact="*" type="jar" ext="*" matcher="exact"/>
<override org="org.scala-lang" module="scala-library" matcher="exact" rev="2.9.2"/>
<override org="org.scala-lang" module="scala-compiler" matcher="exact" rev="2.9.2"/>
</dependencies>
</ivy-module>

我是 Ivy 的新手,所以这并不能告诉我太多。我只是认为它提到了源代码和 javadoc,但不知何故 IvyDE 没有选择它。

最佳答案

你可以放

EclipseKeys.withSource := true

给您的 build.sbt ,它允许 sbteclipse 下载所有源代码,并使它们可以在 Eclipse 中访问。请注意,这将从所有配置的依赖项下载所有源。我不知道如何告诉 sbt 只下载单个依赖项的源。

关于scala - 如何将源附加到 Scala IDE 中的 SBT 托管依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10472840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com