我正在尝试使用Play Framework中名为REST Assured的库。文档 - https://code.google.com/p/rest-assured/wiki/GettingStarted - 为Maven提供了以下工件 -
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>rest-assured</artifactId>
<version>1.8.0</version>
<scope>test</scope>
</dependency>
所以我按如下方式更改了我的Build.scala文件以包含此依赖项 -
val appDependencies = Seq(
// Add your project dependencies here,
javaCore,
javaJdbc,
javaEbean,
"com.jayway.restassured" % "rest-assured" % "1.8.0" % "test"
)
然后我尝试通过静态导入一些包在Java中使用这个库,这是文档指示我做的 -
import static com.jayway.restassured.RestAssured.*;
import static com.jayway.restassured.matcher.RestAssuredMatchers.*;
import static org.hamcrest.Matchers.*;
但是当我尝试运行Play应用程序时,这会导致编译错误 -
错误:包com.jayway.restassured不存在
我知道Play / sbt正在检索依赖项,因为我可以在play-2.1.0 / repository / cache目录中看到“com.jayway.restassured”目录。但是它没有显示在play-2.1.0 / repository / local目录中,我不知道这是否有任何意义。
那么出了什么问题,为什么我不能在Play应用程序中访问这个库?
答案 0 :(得分:3)
如果您需要从非测试代码访问REST Assured,则依赖项应定义为:
"com.jayway.restassured" % "rest-assured" % "1.8.0"
换句话说,删除"test"
声明。当它出现时,您指定该库是测试范围依赖项。目前您所说的REST Assured不是您的生产代码的依赖项,只需要确定测试树中的代码范围(即添加到测试类路径中)。
我想后续问题是您希望从app
代码中引用测试库的原因?