`

项目中jdk高版本编译后的代码在低版本的jdk运行报错

    博客分类:
  • java
 
阅读更多
项目中jdk高版本编译后的代码运行在低版本的jdk的tomcat服务器中报如下错误:
java.lang.UnsupportedClassVersionError: com/xxx/xxx/xxx/xxx: Unsupported major.minor version 52.0 (unable to load class com.xx.xxx.xxx.xxx)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1851)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation(WebAnnotationSet.java:145)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:73)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:56)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:297)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1068)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4252)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

解决方案:
使用对应的低版本jdk重新编译后即可。
分享到:
评论

相关推荐

    jocky混淆器JDK1.7不会报错

    **正文** ...无论是在日常开发还是在项目部署中,它都能提供可靠的支持,让您的代码更加安全,为软件保驾护航。通过熟练掌握jocky混淆器的使用,您可以进一步提升项目的整体安全性,抵御潜在的威胁。

    解决JDK1.6下的Base64报错问题

    然而,在JDK 1.6版本中,Base64相关的类并不内置在标准库中,这可能会导致在使用Base64时遇到编译或运行错误。本篇文章将详细讲解如何解决在JDK 1.6环境下遇到的Base64报错问题,并提供相应的解决方案。 首先,我们...

    jdk版本1.6

    总之,JDK 1.6作为一个经典的Java开发版本,其强大的功能和稳定性使其在许多项目中依然被广泛使用。无论是初学者还是经验丰富的开发者,理解并掌握这个版本的特点和使用方法,对于提升开发效率和代码质量都具有重要...

    jdk1.8.0_241_jdk-8u241-windows-x64.rar

    Java Development Kit(JDK)是Java编程语言的核心组件,它为开发者提供了编译、调试和运行Java应用程序所需的所有工具。JDK 1.8.0_241是Oracle公司发布的64位版本,专为Windows操作系统设计。这个版本包含了众多...

    JDK1.8__Windows__X64

    对于Windows 64位操作系统,JDK 1.8提供了专门的版本,以确保在该平台上的高效运行。 1. **下载与安装** - JDK 1.8的Windows 64位版本可以通过Oracle官方网站获取。提供的压缩包文件名为`jdk-8u152-windows-x64....

    JDK1.6和1.8合集

    然后,可以通过`javac`编译Java源代码,用`java`执行编译后的字节码文件。对于开发者来说,了解每个版本的API差异是至关重要的,因为这直接影响到代码的编写和维护。 总之,这个JDK 1.6和1.8的合集对于Java学习者和...

    graalvm-jdk-21-macos-aarch64-bin.tar.gz

    总之,"graalvm-jdk-21-macos-aarch64-bin.tar.gz" 是一个专为macOS Arm设备设计的GraalVM 21版本JDK,它集成了高性能的运行时和开发工具,支持多种编程语言,并提供了快速原生编译的选项,是开发和运行高性能Java和...

    Studio 编译报错:compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.的解决办法

    这个错误表明Android Studio(通常被称为Studio)在尝试编译项目时,发现当前配置的Java Development Kit (JDK)版本低于需求的1.8,而`compileSdkVersion`设置为了24或更高,这需要JDK 1.8或以上的版本才能正常编译...

    java中JDK在运行时出现的常见问题.docx

    本文将深入探讨在Java中使用JDK运行程序时可能出现的一些常见问题,并提供相应的解决策略。 1. **字符编码问题** 在描述中提到的问题主要涉及字符编码。Java源代码默认使用UTF-8编码,但如果你使用记事本或其他不...

    jdk1.6API中文文档 CHM.zip

    JDK 1.6 API中文文档是针对中国开发者特别编译的版本,以中文形式详细解释了所有类库和API。对于不熟悉英文文档的开发者来说,中文文档降低了学习和理解的难度,使他们能更有效地利用Java平台的功能。开发者可以通过...

    jdk1.5中文帮助文档

    4. **变量赋值检查**:编译器在JDK 1.5中增加了空指针检查,如果变量未初始化就使用,编译器会报错,增强了代码的健壮性。 5. **for-each循环**:新的增强for循环(也称为foreach循环)让遍历数组和集合变得更加...

    可以在jdk1.8环境下运行的dubbo-admin版本

    文件版本为dubbo-admin-2.5.6,解决jdk1.8.5版本启动报错问题,用户root密码root. 此包已经经过maven 编译,可以直接启动tomcat.记得检查或修改tomcat端口号。

    针对javac的命令错误,jdk环境变量设置方法

    这种情况通常发生在刚刚安装完Java Development Kit (JDK) 并尝试编译Java代码时。为了解决这个问题,正确配置Java环境变量至关重要。 #### 一、理解环境变量 环境变量是在操作系统中定义的一组变量,它们为程序...

    永久解决 Intellij idea 报错-Error -java 不支持发行版本5的问题.docx

    这个问题通常发生在尝试运行或构建使用较新Java版本编写的代码时,而当前环境中的Java版本过低,不支持这些新特性。为了解决这一问题,本篇文章将详细介绍一种永久性的解决方案,确保无论是现有项目还是未来的新项目...

    myeclipse8.6 jdk1.7 tomcat7.0 配置

    配置完成后,启动Tomcat,如果MyEclipse没有报错并且能在浏览器中访问到Tomcat的默认欢迎页面,那么恭喜你,Tomcat7.0已经在MyEclipse8.6中成功配置。 最后,对于引入Tomcat7的jar包,如果你的项目需要直接引用...

    【Linux】CentOS7下JDK+ANT环境搭建,用于Jenkins发布数据库脚本.pdf

    ANT是一个Java项目构建工具,Jenkins中用于执行数据库脚本的构建步骤往往需要依赖ANT脚本来编译、测试和打包。安装ANT通常需要下载ANT的rpm包,然后重复类似JDK的安装流程。 总结来说,JDK和ANT的安装是基础但又...

    geoserver源码编译文件

    确保你的开发环境中已安装Java JDK(推荐1.8或以上版本)和Maven,这两者是编译GeoServer源码的必备工具。 二、IDEA集成项目 在IntelliJ IDEA(简称IDEA)中,选择“Open”打开下载的源码目录。IDEA会自动识别这是...

    解决butterknife依赖添加报错

    解决Android studio 添加butterknife依赖,运行报错。

    解决WebSphere不支持JDK新特性的问题.doc

    在 WebSphere Application Server V6.1 中,如果 JSP 中嵌入的代码包含 JDK 5.0 的特性,编译的时候会出错。这是因为 WAS6.1 采用 JDK5.0,因此需要设置相应的 JSP 引擎配置参数来解决这个问题。 其中一个重要的...

Global site tag (gtag.js) - Google Analytics