相关疑难解决方法(0)

如何解决Java Runtime(类文件版本55.0),此版本的Java Runtime仅识别类文件版本高达52.0的错误?

我正在尝试在 IntelliJ 中运行 Spring Boot 应用程序。

但是当我尝试运行时,我收到以下错误消息:

线程“main”中出现异常 java.lang.UnsupportedClassVersionError:myProject 已由更新版本的 Java 运行时(类文件版本 55.0)编译,此版本的 Java 运行时仅识别最高版本 52.0 的类文件

这是我的运行配置下的 JRE 位置:

在此输入图像描述

我尝试在这里安装几个不同的 Java 版本:

在此输入图像描述

这是我当前的系统/环境变量:

环境变量:

JAVA_HOME: C:\Program Files\Java\jdk-11.0.12\bin
Run Code Online (Sandbox Code Playgroud)

系统变量:

Path: C:\Program Files\Java\jdk-11.0.12\bin ....
Run Code Online (Sandbox Code Playgroud)

我试图找到与版本匹配的JRE,但一直找不到。

有人可以告诉我需要进行哪些更改才能在本地成功运行此应用程序吗?

java windows intellij-idea gradle

35
推荐指数
2
解决办法
26万
查看次数

UnsupportedClassVersionError:已由更新版本的 Java 运行时(类文件版本 55.0)编译,此版本 (..) 最高为 52.0

我正在尝试启动为 Spring Boot 项目构建的 jar 文件。首先我做了:

mvn clean package spring-boot:repackage
Run Code Online (Sandbox Code Playgroud)

然后我尝试启动 jar 文件,但出现以下错误:

线程“main”中出现异常 java.lang.UnsupportedClassVersionError:it/sysdata/helios_backend_admin/HeliosAdminBackendApplication 已由更新版本的 Java 运行时(类文件版本 55.0)编译,此版本的 Java 运行时仅识别类文件版本到 52.0 在 java.lang.ClassLoader.defineClass1(本机方法) 在 java.lang.ClassLoader.defineClass(未知来源) 在 java.security.SecureClassLoader.defineClass(未知来源) 在 java.net.URLClassLoader.defineClass(未知来源)在 java.net.URLClassLoader.access$100(未知来源) 在 java.net.URLClassLoader$1.run(未知来源) 在 java.net.URLClassLoader$1.run(未知来源) 在 java.security.AccessController.doPrivileged(本机方法) )在 java.net.URLClassLoader.findClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) 在 org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93) 在 java.lang.ClassLoader .loadClass(来源不明)在org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)在org.springframework.boot.loader.Launcher.launch(Launcher.java:87)在org.springframework.boot .loader.Launcher.launch(Launcher.java:50) 在 org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)

我检查过,java版本到处都是11(至少从我所看到的)。这是 pom:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <groupId>it.sysdata</groupId>
    <artifactId>helios_backend_admin</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>helios-admin-backend</name>
        <packaging>jar</packaging>
    <description>Helios Backend …
Run Code Online (Sandbox Code Playgroud)

java executable-jar maven maven-jar-plugin spring-boot

15
推荐指数
4
解决办法
9万
查看次数

Gradle 同步失败:无法使字段 private static final java.util.Map java.lang.ProcessEnvironment.theCaseInsensitiveEnvironment 可访问

我尝试构建我的 gradle 项目,但出现以下错误:

1:36 PM Gradle sync failed: Unable to make field private static final java.util.Map java.lang.ProcessEnvironment.theCaseInsensitiveEnvironment accessible: module java.base does not "opens java.lang" to unnamed module @7d417077 (5 s 556 ms)

构建.gradle文件

不,我不知道 gradle,不,我不打算学习它,但我别无选择。提前致谢

java gradle minecraft minecraft-forge

14
推荐指数
1
解决办法
2万
查看次数


如何修复 MacBook 上的 android 错误主要版本 53 比 52 新

在构建过程中出现错误,如果我使用compileSdkVersion 30,targetSdkVersion 30buildToolsVersion = '30.0.0'. 该错误不会阻止我的应用程序运行,但我认为它可能会在生产中崩溃。请有人知道如何解决这个问题而不是使用compileSdkVersion 29?

我在网上查了一下,但从我看到的其他问题来看,我在 Macbook 上看不到我的 Android Studio 4.0 中的步骤。我也尝试更改为sourceCompatibility JavaVersion.VERSION_1_9 targetCompatibility JavaVersion.VERSION_1_9,但出现了很多错误。

警告:/Users/pc/Library/Android/sdk/platforms/android-30/optional/org.apache.http.legacy.jar(org/apache/http/impl/client/BasicCookieStore.class):主要版本 53 是比 52 更新,这是此编译器支持的最高主要版本。建议升级编译器。

警告:/Users/pc/Library/Android/sdk/platforms/android-30/optional/org.apache.http.legacy.jar(org/apache/http/impl/cookie/BasicClientCookie.class):主要版本 53 是比 52 更新,这是此编译器支持的最高主要版本。建议升级编译器。

警告:/Users/pc/Library/Android/sdk/platforms/android-30/optional/org.apache.http.legacy.jar(org/apache/http/impl/client/BasicCookieStore.class):主要版本 53 是比 52 更新,这是此编译器支持的最高主要版本。建议升级编译器。

警告:/Users/pc/Library/Android/sdk/platforms/android-30/optional/org.apache.http.legacy.jar(org/apache/http/impl/cookie/BasicClientCookie.class):主要版本 53 是比 52 更新,这是此编译器支持的最高主要版本。建议升级编译器。

警告:/Users/pc/Library/Android/sdk/platforms/android-30/optional/org.apache.http.legacy.jar(org/apache/http/impl/client/BasicCookieStore.class):主要版本 53 是比 52 更新,这是此编译器支持的最高主要版本。建议升级编译器。

警告:/Users/pc/Library/Android/sdk/platforms/android-30/optional/org.apache.http.legacy.jar(org/apache/http/impl/cookie/BasicClientCookie.class):主要版本 53 是比 52 更新,这是此编译器支持的最高主要版本。建议升级编译器。

警告:/Users/pc/Library/Android/sdk/build-tools/30.0.0/core-lambda-stubs.jar(java/lang/invoke/LambdaMetafactory.class):主要版本53比52新,最高此编译器支持的主要版本。建议升级编译器。

警告:/Users/pc/Library/Android/sdk/platforms/android-30/optional/org.apache.http.legacy.jar(org/apache/http/cookie/SetCookie.class):主要版本 53 比52,此编译器支持的最高主版本。建议升级编译器。

警告:/Users/pc/Library/Android/sdk/platforms/android-30/optional/org.apache.http.legacy.jar(org/apache/http/cookie/Cookie.class):主要版本 53 比52,此编译器支持的最高主版本。建议升级编译器。

警告:/Users/pc/Library/Android/sdk/platforms/android-30/optional/org.apache.http.legacy.jar(org/apache/http/cookie/ClientCookie.class):主要版本 53 比52,此编译器支持的最高主版本。建议升级编译器。

警告:/Users/pc/Library/Android/sdk/platforms/android-30/optional/org.apache.http.legacy.jar(org/apache/http/client/CookieStore.class):主要版本 53 比52,此编译器支持的最高主版本。建议升级编译器。

注意:某些输入文件使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。11条警告

我的 Gradle 文件

apply plugin: 'com.android.application' …
Run Code Online (Sandbox Code Playgroud)

java macos android gradle android-studio

11
推荐指数
0
解决办法
4273
查看次数

Docker run 返回异常:应用程序已由更新版本的 Java 运行时编译

我使用 Springboot 创建了一个 Web 应用程序,现在我将对其进行 dockerize 并将其上传到 docker hub。所以我的Dockerfile就是,

FROM openjdk:8

EXPOSE 8080

ADD target/spring-boot-web-0.0.1-SNAPSHOT.jar spring-boot-web-0.0.1-SNAPSHOT.jar

ENTRYPOINT ["java","-jar","spring-boot-web-0.0.1-SNAPSHOT.jar"]
Run Code Online (Sandbox Code Playgroud)

在我的目标内部创建之后,.jar我使用以下命令构建 docker 映像,

docker build -t kubernatesimage
Run Code Online (Sandbox Code Playgroud)

它成功构建了 docker 映像,当我运行时,docker images我可以看到创建的映像。但在将其上传到 docker hub 之前,我需要运行并检查,以便我正在执行,

docker run -it  -p 4000:80 kubernatesimage 
Run Code Online (Sandbox Code Playgroud)

这会返回以下异常,

线程“main”中出现异常 java.lang.UnsupportedClassVersionError:guru/springframework/SpringBootWebApplication 已由较新版本的 Java 运行时(类文件版本 55.0)编译,此版本的 Java 运行时仅识别最高 52.0 的类文件版本

根据 @Nithin 在这个StackOverflow 问题中的回答,我发现这是由于版本不匹配和 java 版本代码造成的,

49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 …
Run Code Online (Sandbox Code Playgroud)

java java-8 docker spring-boot

5
推荐指数
1
解决办法
7095
查看次数

已由最新版本的Java Runtime编译(类文件版本53.0)

当我使用我的搜索功能时,我收到http状态500错误.它声称

错误报告

HTTP状态500 - 内部服务器错误

输入例外报告

消息SearchServlet已由更新版本的Java Runtime(类文件版本53.0)编译,此版本的Java Runtime仅识别最高52.0的类文件版本(无法加载类[SearchServlet])

说明服务器遇到意外情况,无法满足请求.

异常java.lang.UnsupportedClassVersionError:SearchServlet已由更新版本的Java Runtime(类文件版本53.0)编译,此版本的Java Runtime仅识别最高为52.0的类文件版本(无法加载类[SearchServlet]) org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2286)org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:811)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase. java:1260)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:488)org.apache.catalina.valves.ErrorReportValve. invoke(ErrorReportValve.java:81)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)org.apache.coyote. HTTP 11.Http11Processor.service(Http11Processor.java:803)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:790)org.apache. tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1459)org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source )java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Unknown Source)

当我转到我的编译器时,我使用的是编译器合规级别9.我有jre 1.8,我认为这是最新的.当我尝试使用eclipse市场安装java 9时,它告诉我在http://download.eclipse.org/eclipse/updates/none上找不到存储库.

我相信鉴于所有这些我完全是最新的,但我怎么能够在数据库中搜索记录?

<!DOCTYPE html>
<html>

<head>
  <meta charset="ISO-8859-1" <title>Add contact to Phone Book</title>
  <h1>Add contact to Phone Book</h1>
</head>

<body>
  <form name="submitInfo" method="get" action="AddEntryServlet" First Name: <input type="text" name="firstName" />
  <br/>
  <br/>
   Last Name: <input type="text" name="lastName" />
  <br/>
  <br/>
   Area Code: <input type="number" name="areaCode" …
Run Code Online (Sandbox Code Playgroud)

java eclipse jsp hibernate servlets

4
推荐指数
2
解决办法
3万
查看次数

Netbeans - 构建目标JDK 6但使用Java 7 JRE运行

我正在开发一个需要针对JDK 1.6进行构建的项目,但我想针对Java 1.6和1.7进行测试 - 我安装了Java 1.6和1.7 JDK.

我知道我可以为每个人创建一个新的Java平台,但这也会导致项目针对JDK 1.6/1.7进行构建 - 我只希望它针对两者运行.是否有一种简单的方法可以告诉Netbeans使用我的JDK 1.6平台构建,但使用我的Java 1.7 JRE运行.或者即使有一个使用外部JRE来运行项目的选项,我也可以使它工作.

java netbeans

3
推荐指数
1
解决办法
6960
查看次数

带有 wsdl2java 插件的 gradle

我正在使用 no.nils.wsdl2java 插件,完整的 gradle.build 文件如下所示:

plugins {
    id 'org.springframework.boot' version '2.3.4.RELEASE'
    id 'io.spring.dependency-management' version '1.0.12.RELEASE'
    id 'java'
    id "no.nils.wsdl2java" version "0.10"
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

configurations {
    jaxb
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'com.oracle.database.jdbc:ojdbc8'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    implementation group: 'com.oracle.ojdbc', name: 'orai18n', version: '19.3.0.0'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'com.google.code.gson:gson:2.8.5'
}

tasks.named('test') {
    useJUnitPlatform()
}
wsdl2java {
    generatedWsdlDir = file("build/generated/wsdl/Service")
    wsdlsToGenerate …
Run Code Online (Sandbox Code Playgroud)

java plugins wsdl2java gradle

3
推荐指数
1
解决办法
2962
查看次数