我有一个网络应用程序,我正在尝试在其中使用 Mondrian。当我尝试打开连接时出现以下异常:
Caused by: mondrian.olap.MondrianException: Mondrian Error:Internal error: Virtual file is not readable: /WEB-INF/olap/mycube.xml
我已经从命令行使用一个普通的 J2SE 程序测试了这个多维数据集,它工作正常。但是,当我尝试在我的 Web 应用程序中执行相同的多维数据集时,我得到了上面的错误。我的连接字符串如下:
jdbc:mondrian:Jdbc=jdbc:mysql://${server.db.host}/HRWarehouse?user=${server.db.username}&password=${server.db.password};Catalog=/WEB-INF/olap/mycube.xml;
这与我在 Mondrian Web 应用程序中发现的非常相似。然而,不知何故,该应用程序已经在 VFS 中安装了 ServletContext,但是我可以通过 google 找到关于 Web 应用程序中 mondrian 的任何类型的特殊配置的完全零文档。
我通过将架构的路径设置为绝对引用而不是相对于 webapp 上下文来解决这个问题。虽然这使我能够继续测试,但它不是解决问题的合适方法。我正在寻找有关如何修复允许 webapp 上下文相对 URL 的异常的答案。