Playframework 2.0 在SBT中的独立Play 2项目之间共享依赖关系?
我正在用Play2开发一个网站,我在依赖性方面遇到了一些问题。我在文档中搜索了一下,但没有找到任何相关的内容 以下是我的项目结构: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" 我
-包含我的模型、服务、控制器等的Play 2应用程序api
-一个Play 2应用程序,提供一些实用程序类、paypal集成等commons
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
是两个独立的SBT项目(无根项目)commons
中的api/build.sbt
和api
之间的依赖关系:commons
- “
和api
是两个独立的SBT项目(无根项目)”和commons
- “在
中api/build.sbt
和api
之间的依赖关系”通过commons
,无常春藤作用域libraryDependencies
项目可传递地在+中共享api
project的commons
依赖项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"
)