- 由 张雪琼创建, 最后修改于四月 24, 2020
(本文档仅供参考)
问题
自助仪表盘保存报错,具体如下:
展开源码
smartbix.SmartbiXException: 未知错误 -> null at smartbix.SmartbiXException.create(SmartbiXException.java:48) at smartbix.catalog.service.PermissionsService.check(PermissionsService.java:79) at smartbix.catalog.service.PermissionsService$$FastClassBySpringCGLIB$$213e4d85.invoke(<generated>) at smartbixlibs.org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at smartbixlibs.org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at smartbixlibs.org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85) at smartbix.smartbi.service.CatalogServiceHandler.handleCheck(CatalogServiceHandler.java:475) at sun.reflect.GeneratedMethodAccessor898.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at smartbixlibs.org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627) at smartbixlibs.org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616) at smartbixlibs.org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at smartbixlibs.org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at smartbixlibs.org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) at smartbix.catalog.service.PermissionsService$$EnhancerBySpringCGLIB$$41827180.check(<generated>) at smartbix.catalog.service.CatalogService.checkPermission(CatalogService.java:390) at smartbix.catalog.service.CatalogService.get(CatalogService.java:454) at smartbix.catalog.service.CatalogService$$FastClassBySpringCGLIB$$6b68ba50.invoke(<generated>) at smartbixlibs.org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at smartbixlibs.org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at smartbixlibs.org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85) at smartbix.smartbi.service.CatalogServiceHandler.handle(CatalogServiceHandler.java:191) at sun.reflect.GeneratedMethodAccessor852.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at smartbixlibs.org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627) at smartbixlibs.org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616) at smartbixlibs.org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at smartbixlibs.org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at smartbixlibs.org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) at smartbix.catalog.service.CatalogService$$EnhancerBySpringCGLIB$$da7685d1.get(<generated>) at smartbix.smartbi.service.CatalogServiceHandler.createDatasetNode(CatalogServiceHandler.java:358) at smartbix.smartbi.service.CatalogServiceHandler.handle(CatalogServiceHandler.java:211) at sun.reflect.GeneratedMethodAccessor852.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at smartbixlibs.org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627) at smartbixlibs.org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616) at smartbixlibs.org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at smartbixlibs.org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at smartbixlibs.org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) at smartbix.catalog.service.CatalogService$$EnhancerBySpringCGLIB$$da7685d1.createNode(<generated>) at smartbix.dao.service.DAOService.createCatalogNode(DAOService.java:118) at smartbix.dao.service.DAOService.create(DAOService.java:87) at smartbix.dao.service.DAOService$$FastClassBySpringCGLIB$$be20cd9e.invoke(<generated>) at smartbixlibs.org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at smartbixlibs.org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at smartbixlibs.org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at smartbixlibs.org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) at smartbix.dataset.dao.BusinessTableDAO$$EnhancerBySpringCGLIB$$77927d95.create(<generated>) at smartbix.dataset.service.DataSetService.createBusinessTable(DataSetService.java:473) at smartbix.dataset.service.DataSetService.createDataSet(DataSetService.java:378) at smartbix.dataset.service.DataSetService.saveDataSet(DataSetService.java:274) at smartbix.dataset.service.DataSetService$$FastClassBySpringCGLIB$$9dac99f2.invoke(<generated>) at smartbixlibs.org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at smartbixlibs.org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at smartbixlibs.org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85) at smartbix.smartbi.service.RowPermissionAspectHandler.handlePreview(RowPermissionAspectHandler.java:92) at sun.reflect.GeneratedMethodAccessor853.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at smartbixlibs.org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627) at smartbixlibs.org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616) at smartbixlibs.org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at smartbixlibs.org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85) at smartbix.smartbi.service.DataSetServiceHandler.handle(DataSetServiceHandler.java:395) 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 smartbixlibs.org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627) at smartbixlibs.org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616) at smartbixlibs.org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at smartbixlibs.org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) at smartbixlibs.org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at smartbixlibs.org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) at smartbix.dataset.service.DataSetService$$EnhancerBySpringCGLIB$$eabe173d.saveDataSet(<generated>) 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 smartbixlibs.org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) at smartbixlibs.org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133) at smartbixlibs.org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97) at smartbixlibs.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) at smartbixlibs.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) at smartbixlibs.org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at smartbixlibs.org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) at smartbixlibs.org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) at smartbixlibs.org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) at smartbixlibs.org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at smartbixlibs.org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at smartbi.extension.Extension.processMatchServlet(Extension.java:475) at smartbi.extension.ExtensionFilter.processInternal(ExtensionFilter.java:193) at smartbi.extension.ExtensionFilter.access$000(ExtensionFilter.java:40) at smartbi.extension.ExtensionFilter$2.doFilter(ExtensionFilter.java:143) at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:133) at smartbix.smartbi.filter.SmartbiXTraceFilter.doFilter(SmartbiXTraceFilter.java:46) at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:133) at smartbixlibs.org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) at smartbixlibs.org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:133) at smartbi.extension.ExtensionFilter.doFilterInternal(ExtensionFilter.java:156) at smartbi.extension.ExtensionFilter.doFilter(ExtensionFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: javax.xml.bind.JAXBException - with linked exception: [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory] at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:226) at javax.xml.bind.ContextFinder.find(ContextFinder.java:441) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:641) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584) at smartbix.catalog.service.PermissionsService.check(PermissionsService.java:76) ... 134 more Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:579) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:224) ... 138 more
解决方案
问题原因:有可能是因为需要连接大数据库添加了一些大数据库用的驱动jar包,比如说通过 phoenix 方式连接HBASE,这时候会在war包中添加了phoenix.jar,因此引起类冲突导致报错。
解决办法是删除phoenix.jar/META-INF/services/javax.xml.bind.JAXBContext,或者其他jar下面的同名文件
如何查找类引用的jar包:
可以通过以下计划任务找到有问题的jar:
var msg = ""; var clz1 = java.lang.Class.forName("javax.xml.bind.JAXBContext"); var url1 = clz1.getResource("/javax/xml/bind/JAXBContext.class"); msg += url1 + "\n"; var src = "META-INF/services/javax.xml.bind.JAXBContext"; var url3 = clz1.getResource("/META-INF/services/javax.xml.bind.JAXBContext"); msg += url3 + "\n"; context.put("message" , msg);
Viewtracker License Missing
There is a problem with the license of the Viewtracker addon. Please check if you have a valid license.
授权码细节- 无标签