【随笔】TongWeb 常见报错

3,703 阅读2分钟

TongWeb 常见报错

1、服务启动错误

部分版本TongWeb在启动时会出现 Caused by: java.lang.NoSuchMethodError: javax.validation.spi.ConfigurationState.getValueExtractors()Ljava/util/Set;的问题,是由于内部 validation-api.jar 与要部署的应用的依赖存在冲突导致,需要替换TongWeb服务的依赖包。

  • 路径:TongWeb7.0/lib/validation-api.jar
  • 替换版本:可以与应用服务内 validation-api 版本一致
[2022-01-20 15:15:17] [INFO] [System.out] [2022-01-20 15:15:16 [DEBUG] [http-nio2-9060-exec-1] org.jboss.logging - Logging Provider: org.jboss.logging.Log4j2LoggerProvider
]
[2022-01-20 15:15:17] [INFO] [System.out] [2022-01-20 15:15:17 [INFO ] [http-nio2-9060-exec-1] o.h.v.i.util.Version - HV000001: Hibernate Validator 6.0.17.Final
]
[2022-01-20 15:15:17] [INFO] [System.out] [2022-01-20 15:15:17 [DEBUG] [http-nio2-9060-exec-1] o.h.v.i.e.r.TraversableResolvers - Found javax.persistence.Persistence on classpath containing 'getPersistenceUtil'. Assuming JPA 2 environment. Trying to instantiate JPA aware TraversableResolver
]
[2022-01-20 15:15:17] [INFO] [System.out] [2022-01-20 15:15:17 [DEBUG] [http-nio2-9060-exec-1] o.h.v.i.e.r.TraversableResolvers - Instantiated JPA aware TraversableResolver of type org.hibernate.validator.internal.engine.resolver.JPATraversableResolver.
]
[2022-01-20 15:15:17] [INFO] [System.out] [2022-01-20 15:15:17 [INFO ] [http-nio2-9060-exec-1] o.h.v.i.e.ConfigurationImpl - HV000002: Ignoring XML configuration.
]
[2022-01-20 15:15:17] [INFO] [deployment] [Undeploying app: /home/TongWeb7.0/deployment/zhfy]
[2022-01-20 15:15:19] [SEVERE] [deployment] [Unable to deploy collapsed ear in war StandardEngine[TONGWEB].StandardHost[server].StandardContext[zhfy]]
com.tongweb.tongejb.OpenEJBException: Creating application failed: /home/TongWeb7.0/deployment/zhfy: javax.validation.spi.ConfigurationState.getValueExtractors()Ljava/util/Set;
    at com.tongweb.tongejb.assembler.classic.Assembler.createApplication(Assembler.java:1092)
    at com.tongweb.tongejb.assembler.classic.ThanosAssembler.createApplication(ThanosAssembler.java:147)
    at com.tongweb.tongejb.assembler.classic.Assembler.createApplication(Assembler.java:719)
    at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.startInternal(ThanosWebtierWebAppBuilder.java:1087)
    at com.tongweb.tomee.catalina.WebtierWebAppBuilder.configureStart(WebtierWebAppBuilder.java:1122)
    at com.tongweb.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133)
    at com.tongweb.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    at com.tongweb.catalina.core.StandardContext.startInternal(StandardContext.java:5122)
    at com.tongweb.catalina.core.ThanosStandardContext.startInternal(ThanosStandardContext.java:156)
    at com.tongweb.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at com.tongweb.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:730)
    at com.tongweb.catalina.core.ContainerBase.addChild(ContainerBase.java:706)
    at com.tongweb.catalina.core.StandardHost.addChild(StandardHost.java:734)
    at com.tongweb.catalina.core.ThanosStandardHost.addChild(ThanosStandardHost.java:595)
    at com.tongweb.web.thanos.startup.ThanosHostConfig.deployWar(ThanosHostConfig.java:226)
    at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.fireTomcatProcess(ThanosWebtierWebAppBuilder.java:416)
    at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.deployApplication(ThanosWebtierWebAppBuilder.java:363)
    at com.tongweb.deploy.TongWebDeployer.deploy0(TongWebDeployer.java:204)
    at com.tongweb.deploy.TongWebDeployer.deploy(TongWebDeployer.java:164)
    at com.tongweb.deploy.commands.DeployCommand.deploy(DeployCommand.java:269)
    at com.tongweb.console.deployer.service.DeployerService.deploy(DeployerService.java:587)
    at com.tongweb.console.deployer.controller.DeployerController.deploy(DeployerController.java:361)
    ... 
Caused by: java.lang.NoSuchMethodError: javax.validation.spi.ConfigurationState.getValueExtractors()Ljava/util/Set;
    at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.<init>(ValidatorFactoryImpl.java:140)
    at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:38)
    at org.hibernate.validator.internal.engine.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:364)
    at com.tongweb.tongejb.assembler.classic.ValidatorBuilder$OpenEjbConfig.buildValidatorFactory(ValidatorBuilder.java:399)
    at com.tongweb.tongejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:109)
    at com.tongweb.tongejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:65)
    at com.tongweb.tongejb.assembler.classic.LazyValidatorFactory.ensureDelegate(LazyValidatorFactory.java:53)
    at com.tongweb.tongejb.assembler.classic.LazyValidatorFactory.getFactory(LazyValidatorFactory.java:62)
    at com.tongweb.tongejb.assembler.classic.Assembler.createApplication(Assembler.java:950)
    ... 96 more
[2022-01-20 15:15:19] [SEVERE] [core] [ContainerBase.addChild: start: ]
com.tongweb.catalina.LifecycleException: Failed to start component [StandardEngine[TONGWEB].StandardHost[server].StandardContext[zhfy]]
    at com.tongweb.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at com.tongweb.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:730)
    at com.tongweb.catalina.core.ContainerBase.addChild(ContainerBase.java:706)
    at com.tongweb.catalina.core.StandardHost.addChild(StandardHost.java:734)
    at com.tongweb.catalina.core.ThanosStandardHost.addChild(ThanosStandardHost.java:595)
    at com.tongweb.web.thanos.startup.ThanosHostConfig.deployWar(ThanosHostConfig.java:226)
    at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.fireTomcatProcess(ThanosWebtierWebAppBuilder.java:416)
    at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.deployApplication(ThanosWebtierWebAppBuilder.java:363)
    at com.tongweb.deploy.TongWebDeployer.deploy0(TongWebDeployer.java:204)
    at com.tongweb.deploy.TongWebDeployer.deploy(TongWebDeployer.java:164)
    at com.tongweb.deploy.commands.DeployCommand.deploy(DeployCommand.java:269)
    at com.tongweb.console.deployer.service.DeployerService.deploy(DeployerService.java:587)
    at com.tongweb.console.deployer.controller.DeployerController.deploy(DeployerController.java:361)
    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)
     ... 
Caused by: com.tongweb.tomee.catalina.TomEERuntimeException: com.tongweb.tongejb.OpenEJBException: Creating application failed: /home/TongWeb7.0/deployment/zhfy: javax.validation.spi.ConfigurationState.getValueExtractors()Ljava/util/Set;
    at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.startInternal(ThanosWebtierWebAppBuilder.java:1119)
    at com.tongweb.tomee.catalina.WebtierWebAppBuilder.configureStart(WebtierWebAppBuilder.java:1122)
    at com.tongweb.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133)
    at com.tongweb.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    at com.tongweb.catalina.core.StandardContext.startInternal(StandardContext.java:5122)
    at com.tongweb.catalina.core.ThanosStandardContext.startInternal(ThanosStandardContext.java:156)
    at com.tongweb.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 87 more
Caused by: com.tongweb.tongejb.OpenEJBException: Creating application failed: /home/TongWeb7.0/deployment/zhfy: javax.validation.spi.ConfigurationState.getValueExtractors()Ljava/util/Set;
    at com.tongweb.tongejb.assembler.classic.Assembler.createApplication(Assembler.java:1092)
    at com.tongweb.tongejb.assembler.classic.ThanosAssembler.createApplication(ThanosAssembler.java:147)
    at com.tongweb.tongejb.assembler.classic.Assembler.createApplication(Assembler.java:719)
    at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.startInternal(ThanosWebtierWebAppBuilder.java:1087)
    ... 93 more
Caused by: java.lang.NoSuchMethodError: javax.validation.spi.ConfigurationState.getValueExtractors()Ljava/util/Set;
    at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.<init>(ValidatorFactoryImpl.java:140)
    at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:38)
    at org.hibernate.validator.internal.engine.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:364)
    at com.tongweb.tongejb.assembler.classic.ValidatorBuilder$OpenEjbConfig.buildValidatorFactory(ValidatorBuilder.java:399)
    at com.tongweb.tongejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:109)
    at com.tongweb.tongejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:65)
    at com.tongweb.tongejb.assembler.classic.LazyValidatorFactory.ensureDelegate(LazyValidatorFactory.java:53)
    at com.tongweb.tongejb.assembler.classic.LazyValidatorFactory.getFactory(LazyValidatorFactory.java:62)
    at com.tongweb.tongejb.assembler.classic.Assembler.createApplication(Assembler.java:950)
    ... 96 more
[2022-01-20 15:15:19] [SEVERE] [web-container] [Error deploying web application directory /home/TongWeb7.0/deployment/zhfy]
java.lang.IllegalStateException: ContainerBase.addChild: start: com.tongweb.catalina.LifecycleException: Failed to start component [StandardEngine[TONGWEB].StandardHost[server].StandardContext[zhfy]]
    at com.tongweb.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:734)
    at com.tongweb.catalina.core.ContainerBase.addChild(ContainerBase.java:706)
    at com.tongweb.catalina.core.StandardHost.addChild(StandardHost.java:734)
    at com.tongweb.catalina.core.ThanosStandardHost.addChild(ThanosStandardHost.java:595)
    at com.tongweb.web.thanos.startup.ThanosHostConfig.deployWar(ThanosHostConfig.java:226)
    at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.fireTomcatProcess(ThanosWebtierWebAppBuilder.java:416)
    at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.deployApplication(ThanosWebtierWebAppBuilder.java:363)
    at com.tongweb.deploy.TongWebDeployer.deploy0(TongWebDeployer.java:204)
    at com.tongweb.deploy.TongWebDeployer.deploy(TongWebDeployer.java:164)
    at com.tongweb.deploy.commands.DeployCommand.deploy(DeployCommand.java:269)
    at com.tongweb.console.deployer.service.DeployerService.deploy(DeployerService.java:587)
    at com.tongweb.console.deployer.controller.DeployerController.deploy(DeployerController.java:361)
    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)

2、TongWeb在解析值jsp文件时没有考虑单引号双引号嵌套使用的情况,导致服务部署失败

  • 影响范围:TongWeb7.0.4.2、TongWeb7.0.4.3
  • 解决方案:版本升级、下载补丁
[2021-10-30 14:28:35 665] [SEVERE] [http-nio2-0.0.0.0-8088-exec-97] [core] [Servlet.service() for servlet jsp threw exception]
com.tongweb.jasper.JasperException: /ptmodule/arteryForm/parse/parse.jsp (line: 20, column: 18) equal symbol expected
    at com.tongweb.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
    at com.tongweb.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:291)
    at com.tongweb.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:97)
    at com.tongweb.jasper.compiler.Parser.parseAttribute(Parser.java:233)
    at com.tongweb.jasper.compiler.Parser.parseAttributes(Parser.java:169)
    at com.tongweb.jasper.compiler.Parser.parseAttributes(Parser.java:160)
    at com.tongweb.jasper.compiler.Parser.parseInclude(Parser.java:880)
    at com.tongweb.jasper.compiler.Parser.parseStandardAction(Parser.java:1151)
    at com.tongweb.jasper.compiler.Parser.parseElements(Parser.java:1490)
    at com.tongweb.jasper.compiler.Parser.parse(Parser.java:145)
    at com.tongweb.jasper.compiler.ParserController.doParse(ParserController.java:244)
    at com.tongweb.jasper.compiler.ParserController.parse(ParserController.java:105)
    at com.tongweb.jasper.compiler.Compiler.generateJava(Compiler.java:201)
    at com.tongweb.jasper.compiler.Compiler.compile(Compiler.java:372)
    at com.tongweb.jasper.compiler.Compiler.compile(Compiler.java:349)
    at com.tongweb.jasper.compiler.Compiler.compile(Compiler.java:333)
    at com.tongweb.jasper.JspCompilationContext.compile(JspCompilationContext.java:600)
    at com.tongweb.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
    at com.tongweb.web.jasper.servlet.ThanosJspServlet.serviceJspFile(ThanosJspServlet.java:273)
    at com.tongweb.web.jasper.servlet.ThanosJspServlet.service(ThanosJspServlet.java:187)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    ...