从java 1.7升级到java 1.8时出现“java.lang.verifyerror:在分支目标14处需要stackmap帧”错误

cngwdvgl  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(428)

我正在尝试将我们项目的运行时环境从Java1.7升级到Java1.8。该项目仍将使用Java1.7进行编译,但我只被要求将runtime env版本从1.7升级到1.8。这是一个老项目,所以起初当我尝试使用最新的java版本8u271时,它得到了支持

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/wae-admin].[jsp]] Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP: 
An error occurred at line: 1 in the generated java file
The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files

以及 "java.lang.VerifyError: Expecting a stackmap frame at branch target 14" .
据我所知,objectinputstream错误是由Java8无法编译jsp(也没有加载jsp页面)引起的。因此,经过一些调查,我决定回退到jdk(也是jre)8u77,但verifyerror仍然存在。作为大多数页面建议使用的解决方案 -noverify 我一开始使用它,并摆脱了我的错误,但当我进一步调查时,我意识到使用它是有风险的 -noverify 尤其是一个正在生产的项目,所以我把它删除了。
我找不到处理verifyerror的方法。我还读到更新javassist版本可能会有所帮助,但这对我来说不太好(从3.10.0ga升级到3.24.1-ga)。
我们使用的是JBoss5.1.0.ga和maven 2.2.1。
下面是错误的详细信息。对于几个类,它也会产生相同的错误(我不得不掩盖一些部分)

ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to PostClassLoader: name=vfsfile:/opt/mss/mss-1.5.0.FINAL-jboss-jdk6-5.1.0.GA/XXX/ state=ClassLoader mode=Manual requiredState=PostClassLoader
org.jboss.deployers.spi.DeploymentException: Error during deploy: vfszip:/opt/mss/mss-1.5.0.FINAL-jboss-jdk6-5.1.0.GA/XXX/
    at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
    at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:177)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)
    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
    at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
    at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
    at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
    at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
    at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)
    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:778)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:543)
    at org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(AbstractProfileService.java:274)
    at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:263)
    at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
    at org.jboss.Main.boot(Main.java:221)
    at org.jboss.Main$1.run(Main.java:556)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 14
Exception Details:
  Location:
    classpath/ClassName.$javassist_read_YYY()Lcom/classpath/ClassName; @10: ifnonnull
  Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0x0000000: 2ab4 0010 2ab9 04df 0100 c700 04b0 4c2a
    0x0000010: b904 df01 002a 1305 462b b904 e604 00c0
    0x0000020: 0548 b0                                

    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getDeclaredMethods(Unknown Source)
    at org.jboss.deployment.AnnotatedClassFilter.hasAnnotations(AnnotatedClassFilter.java:194)
    at org.jboss.deployment.AnnotatedClassFilter.accepts(AnnotatedClassFilter.java:122)
    at org.jboss.deployment.AnnotatedClassFilter.visit(AnnotatedClassFilter.java:102)
    at org.jboss.virtual.plugins.vfs.helpers.WrappingVirtualFileHandlerVisitor.visit(WrappingVirtualFileHandlerVisitor.java:62)
    at org.jboss.virtual.plugins.context.AbstractVFSContext.visit(AbstractVFSContext.java:362)
    at org.jboss.virtual.plugins.context.AbstractVFSContext.visit(AbstractVFSContext.java:374)
    at org.jboss.virtual.plugins.context.AbstractVFSContext.visit(AbstractVFSContext.java:374)
    at org.jboss.virtual.plugins.context.AbstractVFSContext.visit(AbstractVFSContext.java:374)
    at org.jboss.virtual.plugins.context.AbstractVFSContext.visit(AbstractVFSContext.java:374)
    at org.jboss.virtual.plugins.context.AbstractVFSContext.visit(AbstractVFSContext.java:374)
    at org.jboss.virtual.plugins.context.AbstractVFSContext.visit(AbstractVFSContext.java:307)
    at org.jboss.virtual.VFS.visit(VFS.java:468)
    at org.jboss.virtual.VirtualFile.visit(VirtualFile.java:448)
    at org.jboss.deployment.AnnotationMetaDataDeployer.getClasses(AnnotationMetaDataDeployer.java:225)
    at org.jboss.deployment.ConvergedSipAnnotationMetaDataDeployer.processSipMetaData(ConvergedSipAnnotationMetaDataDeployer.java:103)
    at org.jboss.deployment.ConvergedSipAnnotationMetaDataDeployer.deploy(ConvergedSipAnnotationMetaDataDeployer.java:90)
    at org.jboss.deployment.AnnotationMetaDataDeployer.deploy(AnnotationMetaDataDeployer.java:93)
    at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
    ... 30 more

非常感谢您的帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题