我想将Maven项目迁移到Play 2 / sbt:
我在Maven项目的src/test/resources
中有一些测试资源,我在Play项目中移动到test/resources/
(感谢Schleichardt为his answer on Stackoverflow)。
这适用于普通文件(文本,二进制数据......),但是现在我也遇到了{-1}}目录中的Java-Source文件的问题(我必须在项目中测试Java解析器)在不同的java源文件上)。当我在游戏中调用test/resources/
时,这些文件也会被编译,因此我会收到错误。
如何防止test
中的文件从Play / sbt编译?
答案 0 :(得分:8)
由于您的测试资源目录位于编译Java源的目录中,因此您可以移动测试资源文件夹。将其添加到您的设置中:
resourceDirectory in Test <<= (baseDirectory) apply {(baseDir: File) => baseDir / "testResources"}
例如在project / Build.scala中:
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
resourceDirectory in Test <<= (baseDirectory) apply {(baseDir: File) => baseDir / "testResources"}
)
使用以下命令控制您在控制台中的更改:
play "show test:resource-directory"
答案 1 :(得分:2)
如果你想添加测试资源,你应该修改project / Build.scala,方法是将以下内容添加到你的PlayProject ....设置(
不要忘记在这些线之间留空线。 不要忘记声明要删除源文件夹。 您还需要在PlayProject行之前添加导入
import com.typesafe.sbteclipse.core.EclipsePlugin._
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(defaultScalaSettings:_*).settings(
,resourceDirectory in Test <<= baseDirectory(_ / "test-resources")
,EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Resource
)
在此之后你可以做到
play test
play test-only xxx.yyy.zzz.TheTest
play eclipsify