如何让Play框架1.2.x解决sbt在本地发布的依赖关系?

时间:2011-12-13 11:13:14

标签: playframework sbt ivy

我正在使用Scala模块的Play框架。我已经将一些代码分解到一个单独的库中并构建它并使用sbt publish-local在本地发布。现在我需要play dependencies来查找该库及其依赖项。

到目前为止,我的~/.ivy2/ivysettings.xml文件:

<ivy-settings>
<settings defaultResolver="chain"/>
  <resolvers>
    <chain name="chain">
      <filesystem name="libraries">
        <ivy pattern="${ivy.settings.dir}/local/[organisation]/[artifact]/[revision]/ivys/ivy.xml"/>
        <artifact pattern="${ivy.settings.dir}/local/[organisation]/[artifact]/[revision]/[ext]s/[artifact].[ext]" />
      </filesystem>
      <ibiblio name="ibiblio" m2compatible="true" />
    </chain>
  </resolvers>
</ivy-settings>

这使Play能够找到我的库,但遗憾的是它忽略了依赖项,并错误地声称我不再需要它们,可以从lib /中删除它们。

1 个答案:

答案 0 :(得分:2)

使用--debug选项play dependencies,我发现由于某些原因,Play使用“常春藤”作为常春藤文件的工件名称,而不是我的图书馆名称。因此,作为一种快速解决方法,由于我目前只有一个库,我只是将[artifact]更改为上面ivy元素中的实际工件名称。

我提交了Play bug report