Java play framework null pointer exception in reflection giving file
Java play framework null pointer exception in reflection giving file
在 java play framework project 中,我无法在当前控制器 class.
的同一包中检索文件 sample.txt
我尝试使用这个命令:
URL resource = MyController.class.getResource("text.txt");
这是我当前的项目结构:
- app
---- test
--------- controller
------------- MyController
------------- text.txt
我试过类似的命令:
InputStream resource = MyController.class.getResourceAsStream("text.txt");
或
ClassLoader cl = getClass().getClassLoader();
File file = new File(cl.getResource("text.txt").getFile());
相同的空指针。
我该如何解决?
controller目录不是执行目录,只放源码文件
直接使用资源,对于您的情况,内部用法,请参见https://www.playframework.com/documentation/2.8.x/sbtCookbook#Configure-externalized-resources
可能指令:cl.getResource("text.txt").getFile()
在 play 框架中没有获取路径 getClass().getClassLoader()
中的文件。这可能是可见性问题。 Play 框架无法通过 getClassLoader() 访问所有项目文件夹。尝试将文件放入 conf 文件夹并使用 Play.application().resourceAsStream("file.txt");
获取它
在 java play framework project 中,我无法在当前控制器 class.
的同一包中检索文件 sample.txt我尝试使用这个命令:
URL resource = MyController.class.getResource("text.txt");
这是我当前的项目结构:
- app
---- test
--------- controller
------------- MyController
------------- text.txt
我试过类似的命令:
InputStream resource = MyController.class.getResourceAsStream("text.txt");
或
ClassLoader cl = getClass().getClassLoader();
File file = new File(cl.getResource("text.txt").getFile());
相同的空指针。
我该如何解决?
controller目录不是执行目录,只放源码文件
直接使用资源,对于您的情况,内部用法,请参见https://www.playframework.com/documentation/2.8.x/sbtCookbook#Configure-externalized-resources
可能指令:cl.getResource("text.txt").getFile()
在 play 框架中没有获取路径 getClass().getClassLoader()
中的文件。这可能是可见性问题。 Play 框架无法通过 getClassLoader() 访问所有项目文件夹。尝试将文件放入 conf 文件夹并使用 Play.application().resourceAsStream("file.txt");