0

我正在研究pdf使用生成的动作的集成测试用例jasper。那碧玉有一个sub-report。要获取子报告的路径(abc.jasperin web-app/reports/),我首先使用获取真实路径

request.getSession().getServletContext().getRealPath("")

它给出/home/mkb/workspace/my-project/web-app然后连接/reports/abc.jasper以获取父碧玉报告中的子报告。这在运行应用程序(运行应用程序)时工作正常。

但是在上面的代码给出测试(测试应用程序)时,/home/mkb/workspace/my-project/target/work/scriptCache我得到了

net.sf.jasperreports.engine.JRException: Resource not found at : 
/home/mkb/workspace/my-project/target/work/scriptCache/reports/abc.jasper

如何在测试用例中设置或修复此路径问题?(Grails 2.3.9)

4

1 回答 1

2

请使用ServletContextHolder类静态方法 getRealPath() 获取真实路径。例如:-

ServletContextHolder.servletContext.getRealPath('/')

此代码将给出您的应用程序的 web-app 文件夹的路径。

于 2014-10-28T09:12:29.850 回答