Playframework 2.0 在SBT中的独立Play 2项目之间共享依赖关系?

Playframework 2.0 在SBT中的独立Play 2项目之间共享依赖关系?,playframework-2.0,sbt,Playframework 2.0,Sbt,我正在用Play2开发一个网站,我在依赖性方面遇到了一些问题。我在文档中搜索了一下,但没有找到任何相关的内容 以下是我的项目结构: api-包含我的模型、服务、控制器等的Play 2应用程序 commons-一个Play 2应用程序,提供一些实用程序类、paypal集成等 我在api/build.sbt中的api中添加了对commons的依赖项。在commons中,我为PayPal添加了以下依赖项: "com.paypal.sdk" % "rest-api-sdk" % "0.7.1" 我

我正在用Play2开发一个网站,我在依赖性方面遇到了一些问题。我在文档中搜索了一下,但没有找到任何相关的内容

以下是我的项目结构:

  • api
    -包含我的模型、服务、控制器等的Play 2应用程序
  • commons
    -一个Play 2应用程序,提供一些实用程序类、paypal集成等
我在
api/build.sbt
中的
api
中添加了对
commons
的依赖项。在
commons
中,我为PayPal添加了以下依赖项:

"com.paypal.sdk" % "rest-api-sdk" % "0.7.1"
我认为我必须只在
commons
中添加此依赖项。但是当我在
api
中使用与PayPal交互的类时,我发现了
ClassNotFound
错误

api
中将依赖项添加到
commons
时,SBT不应该检索
commons
的依赖项吗

如果我在
api/build.sbt
中将依赖项添加到PayPal中,一切都正常,但我在这两个地方都有这种依赖项

编辑Jacek问题

  • 播放2版本:2.2.0
  • api
    commons
    是两个独立的SBT项目(无根项目)
  • api/build.sbt
    中的
    api
    commons
    之间的依赖关系:
给定

  • api
    commons
    是两个独立的SBT项目(无根项目)”和
  • “在
    api/build.sbt
    api
    commons
    之间的依赖关系”通过
    libraryDependencies
    ,无常春藤作用域
然后

  • api
    项目可传递地在+中共享
    commons
    project
    compile
    依赖项

请注意,由于您“在
api
中使用与PayPal交互的类”,您在
api
项目中直接依赖PayPal类,因此您必须将PayPal依赖项添加到项目的
libraryDependencies
。它们是独立的项目,具有自己的构建配置(和依赖项),并且无论一个项目的依赖项是什么,另一个项目都应该正确声明自己的依赖项。

您使用的是哪种版本的Play?
api
commons
是否是两个没有父/根SBT项目的独立SBT项目?您如何定义
commons
api
之间的依赖关系?您可以运行
或类似的程序来显示项目结构吗?我最感兴趣的是里面有
build.sbt
project/*.scala
文件的目录。我编辑了这个问题,这里有一个
play dependencies
:实际上,我没有直接在
api
中使用
PayPal
类。我只在
commons
中调用方法。但是这些方法正在调用
PayPal
类。无法使
api
commons
传递共享依赖项?
libraryDependencies ++= Seq(
    // Other dependencies ...
    "com.mycompany" %% "commons" % "1.0.0"
)