1

我正在尝试使用这行代码访问.jpg我的文件夹中的文件:src

getClass().getResource("/teste.jpg")

这导致NullPointerException.

我试图将文件放在app/根目录中。我也尝试将其放入test/目录test/resources中。

当我从 Eclipse 运行测试时,它工作正常,但不能从命令行使用play test.

如何解决这个问题?

4

2 回答 2

1

将文件放置在Play应用程序剖析中public或下方。您还可以在.app/assetstest/resources

[root]> help resourceDirectory
Default unmanaged resource directory, used for user-defined resources.

[root]> show test:resourceDirectory
[info] root/test:resourceDirectory
[info]  /Users/jacek/dev/sandbox/play-new-app/test/resources

使用其中一个目录中的资源文件,您可以按如下方式获取它们:

io.Source.fromInputStream(getClass.getResourceAsStream("/teste.jpg"))
于 2014-12-27T19:14:22.577 回答
1

我相信你可以通过使用来实现它

Play.application().getFile("file-relative-to-root")

它取决于正在运行的应用程序,但对于单元测试,您可以创建自己的应用程序。查看 API 文档。

http://www.playframework.com/documentation/api/2.1.0/scala/index.html#play.api.Application

于 2013-04-02T18:05:05.657 回答