报表预览报错

IOT 未结 1 32

一、该问题的重现步骤是什么?

1. 点击预览就报这个错误,几点设计不会,这个改怎么处理,现在无法显示

image.png

二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

        IOT平台 2.2.0 

四、请提供详细的错误堆栈信息,这很重要。

java.lang.NoClassDefFoundError: Could not initialize class org.apache.velocity.util.introspection.MethodMap at org.apache.velocity.util.introspection.ClassMap$MethodCache.<init>(ClassMap.java:239) at org.apache.velocity.util.introspection.ClassMap$MethodCache.<init>(ClassMap.java:204) at org.apache.velocity.util.introspection.ClassMap.createMethodCache(ClassMap.java:127) at org.apache.velocity.util.introspection.ClassMap.<init>(ClassMap.java:88) at org.apache.velocity.util.introspection.IntrospectorCache.put(IntrospectorCache.java:168) at org.apache.velocity.util.introspection.IntrospectorBase.getMethod(IntrospectorBase.java:97) at org.apache.velocity.util.introspection.Introspector.getMethod(Introspector.java:94) at org.apache.velocity.runtime.parser.node.PropertyExecutor.discover(PropertyExecutor.java:101) at org.apache.velocity.runtime.parser.node.PropertyExecutor.<init>(PropertyExecutor.java:71) at org.apache.velocity.runtime.parser.node.PropertyExecutor.<init>(PropertyExecutor.java:48) at org.apache.velocity.util.introspection.UberspectImpl.getPropertyGet(UberspectImpl.java:375) at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:166) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368) at org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:676) at org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:65) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:169) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439) at org.apache.velocity.Template.merge(Template.java:358) at org.apache.velocity.Template.merge(Template.java:262) at com.bstek.ureport.console.html.HtmlPreviewServletAction.execute(HtmlPreviewServletAction.java:142) at com.bstek.ureport.console.UReportServlet.service(UReportServlet.java:80) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.springblade.core.tool.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:94) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:276) at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135) at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:132) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:256) at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:101) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NoSuchMethodError: 'java.lang.reflect.Method org.apache.commons.lang3.reflect.MethodUtils.getMethodObject(java.lang.Class, java.lang.String, java.lang.Class[])' [in thread "XNIO-1 task-6"] at org.apache.velocity.util.introspection.MethodMap.<clinit>(MethodMap.java:61) ... 73 common frames omitted

五、若有更多详细信息,请在下面提供。

1条回答
  • 看报错像是 commons-lang3 和 velocity 的版本不一致导致调用方法的时候冲突报错了,所以会有 Exception java.lang.NoSuchMethodError 出来。


    你有没有加其他额外的依赖?或者你启动bladex企业版看看同样的这块功能,看看能不能正常使用,我看官方演示系统是能正常操作的: https://saber3.bladex.cn/wel/index


    如果企业版可以的话,你可以做下架构升级,给物联网底层升级成企业版

    前端升级:https://iot.bladex.cn/tech/framework/upgrade/frontend.html


    后端升级:https://iot.bladex.cn/tech/framework/upgrade/backend.html


    库表升级:https://iot.bladex.cn/tech/framework/upgrade/db.html


    作者追问:2小时前

    看不懂 升级成boot 依赖 有点乱 这个能帮我切换成boot吗

    回答: 2小时前

     1. 因为不清楚你改了哪里,你提供的内容也非常少,所以我们无法判断你的问题。

     2. 按照上面的文档,做下简单的覆盖更新,升级iot的底层就行了。

     3. bladex-links项目本身就是单体的,升级之前备份下你的【代码工程和数据库】,然后再做升级操作。跟着文档来,十分钟就能解决了,升级之前仔细看几遍文档。

    作者追问:2小时前

     bladex-links项目本身就是单体的,那我还需要升级成boot吗

    回答: 2小时前

    bladex-links是物联网的工程,这个工程没有集成bladex企业版。升级的意思是让物联网整个底层都改成bladex企业版了。


    如果你不急的话,可以等下周,我们发布新版后,会抽时间新建一个集成了bladex的物联网后端出来。着急的话可以按照上面的文档自动升级一下。

    0 讨论(0)
提交回复