我正在使用Play 2开发一个网站,我遇到了一些依赖性问题。我在文档中搜索但没有发现任何相关内容。
这是我项目的结构:
api
- 包含我的模型,服务,控制器等的Play 2应用程序commons
- Play 2应用程序,提供一些实用程序类,paypal集成等。我在commons
的{{1}}中添加了api
的依赖项。在api/build.sbt
中,我为PayPal添加了以下依赖项:
commons
我认为我必须仅在"com.paypal.sdk" % "rest-api-sdk" % "0.7.1"
中添加此依赖项。但是当我在commons
中使用与PayPal交互的类时,我有api
个错误。
在ClassNotFound
中向commons
添加依赖项时,SBT是否应该检索commons
的依赖项?
如果我在api
中将依赖项添加到PayPal,一切正常,但我在两个地方都有这种依赖。
编辑Jacek问题
api/build.sbt
和api
是两个独立的SBT项目(没有根项目)commons
中api
与commons
之间的依赖关系:api/build.sbt
答案 0 :(得分:0)
鉴于
api
和commons
是两个独立的SBT项目(没有根项目)”和api
中的commons
与api/build.sbt
之间的依赖关系libraryDependencies
通过api
,没有常春藤范围。然后
compile
项目共享commons
项目 + +的api
依赖项。请注意,由于您“使用与api
”中的PayPal交互的类,因此您对{{1}中的PayPal类具有直接依赖性项目,因此您必须将PayPal依赖项添加到项目的libraryDependencies
。它们是具有自己的构建配置(和依赖项)的独立项目,并且无论其中一个的依赖性,另一个应该正确地声明它自己。