【问题标题】:Servlet Exception - servlet.init() (UnsupportedClassVersion) [duplicate]Servlet 异常 - servlet.init() (UnsupportedClassVersion) [重复]
【发布时间】:2019-12-13 22:45:56
【问题描述】:

我这几天一直有这个问题。我使用 tomcat7 部署我的服务器,尝试访问它,它给了我一个状态 500 - 内部服务器错误。 https://justpaste.it/3xw20

它与代码无关,因为它适用于 mac。我试图将我的 java 降级到 java11 和 I think I have it but I'm not sure? 再往下,错误是“(...) 已由更新版本的 Java Runtime (...) 编译”

我确实尝试了很多东西...... mvn clean,重新启动一切,环境变量,依赖关系等......唯一想到的可能是Intellij,java的不同版本?但我不知道如何解决。

【问题讨论】:

  • 确保用于运行 Tomcat 的 JDK 与用于构建代码的 JDK 相同。
  • @CrazyCoder 如何检查并将其更改为相同的?我到处搜索...如图所示,我认为我的 jdk 与我创建项目的版本相同,除非那不是我更改它的地方。
  • 可以更改用于构建的JDK版本/语言级别,如此答案中的屏幕截图所示:stackoverflow.com/a/12900859/104891。默认情况下,用于运行 Tomcat 的 JDK 版本将是项目 JDK,但它可能在运行/调试配置 JRE 字段或 Tomcat 启动脚本中被覆盖。在后一种情况下尝试普通 Tomcat 安装。

标签: java spring tomcat unsupported-class-version


【解决方案1】:

“这适用于 Mac”如果您的意思是它在本地运行,那么请尝试在您运行 Tomcat 7 和您的应用程序的服务器上更新 Java 版本。

UnsupportedClassVersionError 在您使用一个 Java 版本编译并使用旧版本执行时发生。您可以通过 maven 安装一个 java 版本并设置您的 intellij 首选项以在旧版本上运行该应用程序来尝试这一点。

【讨论】:

  • 它适用于我创建具有 jdk 11 的项目的 Mac。当我导入项目并在我的 Windows 上运行服务器时,这是我得到的错误。抱歉,我不明白您所说的使用一个版本安装 maven 是什么意思...
  • 检查您的 Windows 上安装的 java。它可能是低于 11 的版本。如果是这样,请将您的 Windows 升级到 Java 11 并重新启动您的 Tomcat,以便它现在使用 11 运行,然后重新导入您的项目。
猜你喜欢
  • 2011-01-31
  • 2020-03-23
  • 1970-01-01
  • 2017-03-22
  • 1970-01-01
  • 2018-06-29
  • 1970-01-01
  • 2013-02-04
  • 2015-12-01
相关资源
最近更新 更多