报错信息:
21-Dec-2021 08:27:12.346 严重 [http-nio-9002-exec-9] org.apache.catalina.core.StandardWrapperValve.invoke 在路径为/saiku的上下文中,Servlet[jersey2]的Servlet.service()引发了具有根本原因的异常java.lang.NoClassDefFoundError: mondrian/olap/LevelType
java.lang.ClassNotFoundException: mondrian.olap.LevelType
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1364)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1187)
at mondrian.olap4j.MondrianOlap4jConnection.toOlap4j(MondrianOlap4jConnection.java:604)
at mondrian.olap4j.MondrianOlap4jHierarchy.getLevels(MondrianOlap4jHierarchy.java:69)
at org.saiku.olap.util.ObjectUtil.convert(ObjectUtil.java:123)
at org.saiku.olap.util.ObjectUtil.convertHierarchies(ObjectUtil.java:107)
at org.saiku.olap.util.ObjectUtil.convert(ObjectUtil.java:77)
at org.saiku.olap.util.ObjectUtil.convertDimensions(ObjectUtil.java:98)
at org.saiku.olap.discover.OlapMetaExplorer.getAllDimensions(OlapMetaExplorer.java:206)
at org.saiku.service.olap.OlapDiscoverService.getAllDimensions(OlapDiscoverService.java:111)
at org.saiku.web.rest.resources.OlapDiscoverResource.getMetadata(OlapDiscoverResource.java:145)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
原因:
saiku依赖的jar包之间有类冲突
解决方案:
将../tomcat/webapps/saiku/WEB-INF/lib下的jar包saiku-query-0.4-SNAPSHOT.jar用解压工具打卡,删除里面的mondrain后,直接保存。
参考文档:olap之saiku踩坑之旅_漫天沙尘的博客-CSDN博客
重启服务,清除浏览器缓存即可。