I am new in Android Studio. After setup,
When I am trying to import an application I am getting that error So that gradle not able to build.
Error:Could not initialize class org.codehaus.groovy.runtime.InvokerHelper
I checked that my classpath setting for Java is fine. I am running Windows OS. Does anyone know the source of the error?
Please make changes as per below to resolve this error.
Install Java SDK version: 14 or above.
JDK Download link: https://www.oracle.com/java/technologies/javase-jdk14-downloads.html
In gradle-wrapper.properties please use grade version 6.3 or above.
For e.g:distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
This is because of the gradle version.
Go to: gradle/wrapper/gradle-wrapper.properties.
Change a version of the course by this:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
The console outputs:
Welcome to Gradle 6.3!
Here are the highlights of this release:
- Java 14 support
- Improved error messages for unexpected failures
For more details see https://docs.gradle.org/6.3/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
First watch this and try reinstall - https://youtu.be/trHinrIm6DM
After if you get "Could not initialize class org.codehaus.groovy.runtime.InvokerHelper"
1.install Java SDK 14 and update env path.
2."[Your RN or Flutter Project Folder]\android\gradle\wrapper\gradle-wrapper.properties" this file edit as ...(upgrade gradle version)
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
3.run gradlew in cmd path "[Your RN or Flutter Project Folder]\android\"
4.it takes time.after if shows "BUILD SUCCESSFUL" you can "flutter run" in ur project folder
Yeah It's work š
What was helpful for me (MacBook):
first go to File -> Invalidate Caches / Restart -> Invalidate and Restart
then check the value of JAVA_HOME enviroment variable, by calling echo $JAVA_HOME (it should be equal to "/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home")
if it is not, change its value by calling export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"
I faced this issue because of lower version of Jdk.
Previously I installed Jdk 1.7 and Android Studio 1.5.1, I got this issue.
If you install Android Studio 1.5.1 or above JDK 1.8 required
So Installing JDK 1.8 solved this issue.
I'm using Pop OS 20.04 and I have Java versions 8, 11 and 14 installed on my notebook.
This error was happening to me when version 14 was standard.
When I switched to using version 11 as the default, the error no longer occurred.
sudo update-alternatives --config java
In gradle-wrapper.properties file, updating the Gradle to 6.3 solved the problem on Mac OS Catalina
distributionUrl=https://services.gradle.org/distributions/gradle-6.3-bin.zip
Go to \android\gradle\wrapper\gradle-wrapper.properties.
Update the installing distribution version (all.zip) of Gradle in distributionUrl. As an example for Gradle version 6.8:
distributionUrl=https://services.gradle.org/distributions/gradle-6.8-all.zip
In my case the problem was that my version of Gradle was incompatible with JDK 14, but despite in project structure dialog was selected JDK 8.
It was necessarily to set JDK home for Gradle separately in gradle.propperties:
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home
I face this issue when I was Building my Flutter Application.
This error is due to the gradle version that you are using in your Android Project.
Follow the below steps:
Install jdk version 14.0.2 from https://www.oracle.com/java/technologies/javase-jdk14-downloads.html .
If using Windows open C:\Program Files\Java\jdk-14.0.2\bin , Copy the Path and now update the path ( Reffer to this article for updating the path : https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/ .
Open the Project that you are working on
[Your Project]\android\gradle\wrapper\gradle-wrapper.properties
and now Replace the distributionUrl with the below line:
distributionUrl = https://services.gradle.org/distributions/gradle-6.3-all.zip
Now Save the File (Ctrl + S), Go to the console and run the command
flutter run
It will take some time, but the issue that you were facing will be solved.
So, you are in 2022, and changing the distribution URL does not work?
Yeah, React Native is such a pain. Make sure you have followed the React Native official guide, then check the Java version with:
java -version
Check compatibility matrix of Gradle versions. Change distribution URL to the version accordingly, from:
distributionUrl=https\://services.gradle.org/distributions/gradle-X.X-all.zip
to
distributionUrl=https\://services.gradle.org/distributions/gradle-Y.Y-all.zip
where Y.Y is the suitable version for your Java version.
And now, check that $JAVA_HOME is set:
echo $JAVA_HOME
Damn, is empty!
Yes, this environment variable is required, and on Internet you will see examples of exporting this path, for example for MacOS:
export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"
Be careful, this is not always the correct path. Check it navigating using cd command. For me the path was:
export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home"
Spot the difference. This could be anywhere, so check it carefully as this is the last step that will allow you to run your project with yarn example android
Tested on: macOS Bug Sur, version 11.4. Intel Core i5. Good luck with M1.
PS: I hate React Native required configurations.
The problem in my case was in the discrepancy between the Gradle version installed globally and the one required by React Native. To fix it, I had to update the folder android/gradle/wrapper from the current 6.5 RN version from GH.
I fixed it just by editing the gradle-wrapper.properties file.
You must go to the project folder, then /android/grandle/wrapper/gradle-wrapper.properties.
In DistributionUrl, change to https \: //services.gradle.org/distributions/gradle-6.4.1-all.zip.
If you are using jdk 16 downgrade to 14 and gradle-wrapper.properties use 6.3 don't forget to upgrade build gradle in build.gradle to 4+
So I also got the same error on my system when I Cloned a project from github.
The project that i created on my system worked without any errors.
So if you are also in similar situation this could help
1-Go to this path
project-name/android/gradle/wrapper/gradle-wrapper.properties
2-Replace everything inside with this
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
When you upgrade to the latest version of the gradle in the gradle-wrapper.properties file
i.e. distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip
please do not forget to change the gradle version in the build.gradle file as well
wrapper {
gradleVersion = '6.6.1'
}
I get this error when I open a new project with VS Code & Flutter. I solved the problem by editing the gradle.build and gradle-wrapper.properties files.
Edit android>build.gradle like this:
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath 'com.google.gms: google-services: 4.3.3' //add this line
classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: $ kotlin_version" }
Edit gradle-wrapper.properties
distributionUrl=https://services.gradle.org/distributions/gradle-6.3-all.zip
I also had the same problem and and it looks like this problem is due to the gradle version in the project directory
This is the version of my jdk:
openjdk version "15-ea" 2020-09-15
OpenJDK Runtime Environment (build 15-ea+32-Ubuntu-220.04)
OpenJDK 64-Bit Server VM (build 15-ea+32-Ubuntu-220.04, mixed mode, sharing)
Please check gradle whether it is installed. This is the version of my gradle:
------------------------------------------------------------
Gradle 6.8
------------------------------------------------------------
Build time: 2021-01-08 16:38:46 UTC
Revision: b7e82460c5373e194fb478a998c4fcfe7da53a7e
Kotlin: 1.4.20
Groovy: 2.5.12
Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM: 15-ea (Private Build 15-ea+32-Ubuntu-220.04)
OS: Linux 5.4.0-65-generic amd64
Then open the gradle-wrapper.properties file in your project folder, in the folder: project name/android/gradle/wrapper/gradle-wrapper.properties
Change the gradle version. Here I changed the gradle version to 6.5
The video version can be seen here: https://www.youtube.com/watch?v=mcclcscUpV0
Resolve It:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
and I changed it into:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-all.zip
I had the same issue when building the Flutter project, I edited this file gradle-wrapper.properties
location: android -> grade\wrapper -> gradle-wrapper.properties
from this to:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
to this:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
but was not solved, I did flutter doctor and found some error in the android toolchain. I open android studio and installed "Android SDK Command-line tools" in SDK manager.
https://stackoverflow.com/a/69604498/13577765
and was solved.
This solution is for M1 Mac User
Find your local Java version by typing /usr/libexec/java_home -V. If didn't exist, install the latest ARM Java version here
Set Java_Home path (in my case jdk-17.0.1.jdk) by typing
/usr/libexec/java_home /Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
Type all of these in terminal
cd /Applications/Android\ Studio.app/Contents/jre ln -s ../jre jdk ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk
Finally run flutter doctor -v to see all the details changes
gradle-wrapper.properties please use grade version 6.3 or above
distributionUrl=https://services.gradle.org/distributions/gradle-6.3-all.zip
../android/gradle/wrapper/gradle-wrapper.properties
For me the solution was to upgrade the gradle version to 6.3 from the android project structure (java 14.0.1 is already installed on my pc).
(Solution)
I tried my first flutter app in android studio , i was getting same error " Could not initialize class org.codehaus.groovy.runtime.InvokerHelper"
open build.gradle and update dependencies
classpath 'com.android.tools.build:gradle:4.0.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
or just hover over com.android.tools.build:grandle:(your-version)
When I tried "react-native run-android" I was receiving errors "Could not initialize class org.codehaus.groovy.runtime.InvokerHelper" + "Failed to install the app. Make sure you have the Android development environment set up"....
Solved it by updating the gradle in Android Studio. When I opened my project in Android Studio it showed a message asking to update Gradle, and I just clicked.
It is not enough to change distributionUrl in gradle-wrapper.properties, you also need to change gradle version in your project structure.
Go to gradle-wrapper.properties and change:
distributionUrl=https://services.gradle.org/distributions/gradle-6.8-all.zip
Go to Android studio -> file -> project structure
Change gradle verison to 6.8 or whatever verison you selected that is compatible with your jdk.
Related
While running a script, I am getting the following error message in the Eclipse console:
Class has been compiled by a more recent version of the Java Environment (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0.
Java Version: 8
IDE: Eclipse Oxygen
Firefox Version: 46
This is just a version mismatch. You have compiled your code using java version 9 and your current JRE is version 8. Try upgrading your JRE to 9.
49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14
59 = Java 15
60 = Java 16
61 = Java 17
62 = Java 18
63 = Java 19
IDE: Eclipse Oxygen.3
To temporarily correct the problem do the following:
Project menu > Properties > Java Compiler > Compiler compliance level > 1.8
A permanent fix likely involves installing JDK 9.
FYI 1.8 is what Java 8 is called.
Side bar
I recently returned to Java after a foray into C# (a breath of fresh air) and installed Eclipse Oxygen onto a clean system that had never had Java installed on it before. This default everything with a brand new install of Eclipse Oxygen yet somehow or other Eclipse can't get its own parameters to match the jdk that's installed. This is the second project I created and the second time I ran into this headache. Time to go back to C#?
Related Question
has been compiled by a more recent version of the Java Runtime (class file version 53.0)
You might see this error in IntelliJ as well and this comes up in Google.
I think it's a Gradle error more than an IDE error.
The fix (stolen from here) is configure Java 11 as a Gradle JVM in IntelliJ:
File -> Settings -> Build, Execution & Development -> Build Tools -> Gradle and change Gradle JVM to 11
That screenshot stolen from the Jetbrains issue as well
You can try this way
javac --release 8 yourClass.java
For Android Studio, File -> Project Structure [Ctrl + Alt + Shift + S]
53 stands for java-9, so it means that whatever class you have has been compiled with javac-9 and you try to run it with jre-8. Either re-compile that class with javac-8 or use the jre-9
For temporary solution just right click on Project => Properties => Java compiler => over there please select compiler compliance level 1.8 => .class compatibility 1.8 => source compatibility 1.8.
Then your code will start to execute on version 1.8.
I had a similar issue from the console after building a Jar in Intellij. Using the Java configuration to update to a newer version (Windows -> Configure Java -> Update -> Update Now) didn't work and stuck at version 1.8 (Java 8).
To switch to a more recent version locally I had to install the Java 15 JDK from https://www.oracle.com/uk/java/technologies/javase-jdk15-downloads.html and add that to my Java runtime environment settings.
The solution for me was doing what Andrei Kuznetsov said at https://youtrack.jetbrains.com/issue/IDEA-251407/Failed-to-run-Android-project-in-the-Idea-20203-EAP-OutputBuildAction-has-been-compiled-by-a-more-recent-version-of-the-Java, summarized in the following image:
"Root cause: IDEA sources are now compiled against Java 11. Known workaround is to configure Java 11 as a Gradle JVM." (Andrei Kuznetsov)
Your JDK version: Java 8
Your JRE version: Java 9
Here your JRE version is different than the JDK version that's the case. Here you can compile all the java classes using JDK version 1.8. If you want to compile only one java class just change the *.java into <yourclassname>.java
javac -source 1.8 -target 1.8 *.java
source: The version that your source code requires to compile.
target: The oldest JRE version you want to support.
I'm writing this because I found the other answers hard to understand.
Essentially your JRE is not updated and/or Eclipse is not configured to use the most recent JRE.
On Windows, go to Control Panel -> Programs -> Java -> update and proceed to update java
or if you don't have Java, go to Oracle's website and download the most recent JRE.
Once this is done, go into eclipse, and under the project view, right click on your project, select Java Build Path, double click on JRE System Library, then Select Workspace Default JRE 14.1.
If a recent version of Java doesn't show up here, it probably isn't installed. Check you JRE(NOT JDK) version and make sure it's recent. If it is, try restarting the computer then trying this again.
IDE : Eclipse 2021-09
This is caused because you have compiled the code with java version 9 and have java8 installed. You don't have to update to solve this issue.
Right click on project > properties > Java Compiler > untick-Enable
project specific settings > configure workspace settings > tick-Use
default compliance settings > Apply and Close.
Now your code should be executed properly.
I've reproduced on Windows 10 the similar issue in format like:
Error: LinkageError occurred while loading main class ...
java.lang.UnsupportedClassVersionError: com/.../ServiceApplication
has been compiled by a more recent version of the Java Runtime (class file version 62.0),
this version of the Java Runtime only recognizes class file versions up to 61.0
after upgrading the project from Java 17 to Java 18.
I had project settings regarding to Java 18:
Command line:
java version "18.0.1.1" 2022-04-22
Java(TM) SE Runtime Environment (build 18.0.1.1+2-6)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.1.1+2-6, mixed mode, sharing)
Project Structure -> Project Settings -> Project:
Project Structure -> Project Settings -> Modules:
Project Structure -> Platform Settings -> SDKs:
And the reason of this issue was:
I forgot to specify the correct version for Run/Debug Configurations -> Build and run to Java 18 instead of Java 17:
As it was compiled with a newer Java version, but running on the older one.
If it's Maven-related issue, you can modify POM by specifying the -source and -target of the Java Compiler.
Additional helpful links:
Setting the Java Version in Maven
Consuming Jar Artifact of a Specific Java Version
Go to Project section, click on properties > then to Java compiler > check compiler compliance level is 1.8 , or there should be no yellow warning at bottom
Refreshing gradle dependencies works for me: Right click over the project -> Gradle -> Refresh Gradle Project.
You should check your Project Facets.
Project Properties > Project Facets
Change java version to the same version you are using. That work for me!
I faced this error in Intellij. Apparently, choosing java 1.8 as the project SDK doesn't affect the javac compiler that's used to build the project.
To change that, go to Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler, and change Project bytecode version to 8.
If you're using IntelliJ IDEA and having this error, try this.
Command + , (Open Preferences)
Build, Execution, Deployment > Build Tools > Gradle
Gradle JVM > Change it to a proper version
This is getting as an example
if your computer running on an older version of java and the Neo4J is compiled on the latest version, please try to install the same version or upper to your computer.
I'm getting the same problem with Sonarqube
has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
Sonarqube with AzureDevOps error output:
INFO: SonarScanner 4.6.2.2472
INFO: Java 1.8.0_231 Oracle Corporation (32-bit)
INFO: Windows Server 2016 10.0 x86
INFO: User cache: C:\Windows\system32\config\systemprofile.sonar\cache
INFO: Scanner configuration file: C:\agent_a_work_tasks\SonarQubePrepare_15b84ca1-b62f-4a2a-a403-89b77a063157\5.4.0\classic-sonar-scanner-msbuild\sonar-scanner-4.6.2.2472\bin..\conf\sonar-scanner.properties
INFO: Project root configuration file: C:\agent_a_work\189.sonarqube\out\sonar-project.properties
INFO: Analyzing on SonarQube server 9.4.0
INFO: Default locale: "en_AU", source code encoding: "windows-1252" (analysis is platform dependent)
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 0.405s
INFO: Final Memory: 3M/15M
##[error]ERROR: Error during SonarScanner execution
java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
I had Java v11 installed on the Sonarcube server, but the error is saying its the Build Agent that doesn't have Java v11.
I decided to add the Java v12 bin path to the Environment Variable Path for it to be detected. IMPORTANT THIS NEEDS TO BE DONE ON THE BUILD AGENT:
For a Hosted Build Agent you can install JDK v11 or use this PowerShell script step:
- task: PowerShell#2
displayName: 'Download and Install Java v11'
inputs:
targetType: 'inline'
script: |
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$Command = "c:\jdk-11.0.15_windows-x64_bin.exe"
$Parms = "/s"
Write-Host [System.IO.File]::Exists($Command)
if ([System.IO.File]::Exists($Command)) {
Write-Host 'Downloading Java11.exe'
Invoke-WebRequest https://yourOwnUrl.com/jdk-11.0.15_windows-x64_bin.exe -OutFile $Command
}
Write-Host [System.IO.File]::Exists($Command)
& "$Command" $Prms
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Java\jdk-11.0.15")
[System.Environment]::SetEnvironmentVariable("Path", [System.Environment]::GetEnvironmentVariable('Path', [System.EnvironmentVariableTarget]::Machine) + ";$($env:JAVA_HOME)\bin")
In my case, I'm building with VS2019 some C++ code that is using ANTLR4.
ANTLR4 is java based, and to use it I run java commands as a custom build step.
Earlier that day I had updated my JRE (Java Runtime Environment) on my new laptop to 1.8. Not thinking, since it's been a year since I ran ANTLR4 stuff... I need the full JDK to COMPILE with java. So I had a 1.8 RUNTIME, but the VS2019 build shell was finding the JDK1.7 compiler. Once I installed the 1.8 JDK, all was good.
So 80% of the time JRE is fine for me... it's just when I need the full JDK, DOH I need the full JDK.
In build.gradle(app) update as below: (Worked for me)
kotlinOptions {
jvmTarget = '1.8'
}
For me this problem was resolved by just installing older version of testng. Looks like It compiles with my Java 8
If you're using IntelliJ IDEA and having this error, try this.
1. Command + , (Open Preferences)
2. Build, Execution, Deployment > Build Tools > Gradle
3. Gradle JVM > Change it to a proper version
Check the version of Java configured in IDE by navigating to Settings -> Build, Execution, Deployment > Build Tools > Gradle
In my case, I use the IntellJ Idea and set JDK11 as my SDK and JDK17 in gradle setting.
Just update my SDK as JDK17, it was solved
Check the JDK in "Project Setting"(CMD+;) -> SDK
with
the gradle JVM in "Preference"(CMD+,) -> Build Tools -> gradle JVM
Faced the same issue when initialise my project from spring initizer
We need to match the version of java.sourceCompatibility and jvmTarget used for run and compile in "build.gradle.kt" file.
Last week, I updated my Mac's Android Studio from 2021.2.1 to 2021.3.1. Then our project was built failed for the similar reason:
Cause: com/android/tools/idea/gradle/run/OutputBuildAction has been
compiled by a more recent version of the Java Runtime (class file
version 55.0), this version of the Java Runtime only recognizes class
file versions up to 53.0
I found several discussion on the Jetbrains YouTrack Forum: Failed to run Android project in the Idea 2020.3 EAP (OutputBuildAction has been compiled by a more recent version of the Java Runtime (class file version 55.0)). The suggested workaround is to update the defined Gradle JDK version to JDK11, but many Android projects don't support Gradle JDK11, so does mine.
Another solution is to downgrade Android Studio from 2021.3.1 to 2021.2.1, and it worked for me. Hope it helps.
it looks like everyone is using windows for development, but if you use Linux, lower your Java version. maybe install JDK 8, the version table provided by #Nithin should give you an idea of which version you want to install.
After configuring the version of the compiler to 1.8 (your required version), try the older version of spring boot currently it is 3.0.0 by default but you can try 2.7.6 instead.
enter image description here
Background
I started my first project in android studio to get familiar with Android programming.
I am following this tutorial, in which
I created a new project Empty Activity, without any change
It is supposed to simulate a simple app that shows "Hello World" message
Problem Description
But every time I try to run and build (I want to emulator as of now), I get the following error message.
Unable to make field private final java.lang.String java.io.File.path accessible:
Unable to make field private final java.lang.String java.io.File.path
accessible: module java.base does not "opens java.io" to unnamed module #42760a00
Here is my config set-up:
Android Gradle plugin version: 4.2.1
Gradle Version: 7.0.1 (changed to fix another issue I had while syncing the Gradle ("Gradle sync failed: Unsupported class file major version 60") and based discussion on this forum as quoted below)
Andrey Dernov commented 14 Apr 2021 00:18 Please use Gradle 7.0 or JDK
less than 16 version for importgin and building the project (Settings
(Preferences on macOS) | Build, Execution, Deployment | Build Tools |
Gradle | Gradle JVM option).
JDK: 16.0.1
Any suggestion or idea?
The solution from GitHub has worked for me. It was no need to downgrade Java JDK. Just changed gradle version in gradle-wrapper properties to 7.1.1 (6.x does not support java 16), and adding the following line in gradle.properties:
org.gradle.jvmargs=-Xmx1536M \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.io=ALL-UNNAMED \
--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
You must be using a JDK version that is not supported by the Gradle Version.
( There is no need to downgrade )
1-Check your JDK Version from C:\Program Files\Java. In My Case, It's JDK-17.0.2
2-Check The Respective Gradle version for your JDK
https://docs.gradle.org/current/userguide/compatibility.html
3-Open gradle-wrapper.properties from .\android\gradle\wrapper\
and change the distributionUrl to your required gradle version
e.g. for JDK 17
distributionUrl = https\://services.gradle.org/distributions/gradle-7.3-all.zip
4-Open build.gradle from .\android\build.gradle
and change the plugin in the class path to the one according to your gradle version
e.g.
classpath("com.android.tools.build:gradle:4.2.2") for Gradle 6.7.1+
classpath("com.android.tools.build:gradle:7.0.0") for Gradle 7+
Check the Compatible Plugin for your Gradle version at
https://developer.android.com/studio/releases/gradle-plugin#updating-gradle
5-run npx react-native run-android
I think I found the solution.
If you are importing an old project you are likely to face this error.
Basically you made your old project with lower JDK versions and now you have higher JDK versions installed currently in your system.
You should avoid higher JDK versions for building older projects.
Basically Download JDK 8 (1.8) and install it.
change environment variable (write JDK 8 path to environment variable)
Then change your project structure and write JDK 8 path to JDK location.
invalidate caches and restart android studio.
build your project and it should work.
If you got the following error:
Error:Cannot fit requested classes in a single dex file.Try supplying a main-dex list. # methods: 72477 > 65536
Then add the following dependency in your app.gradle file:
// multidex
implementation 'com.android.support:multidex:1.0.3'
then you need to enable multidex in your app.gradle file.
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.convenient.easymeasure"
minSdkVersion 19
targetSdkVersion 30
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
I found this discussion kind of related to my question.
But could not figure out how to pass JVM parameters in Android studio.
But, the error is gone after replacing JDK 16 by JDK 15.
Run Flutter doctor, if thereĀ“s an error indicating that the java bundled canĀ“t be found (specially if you have Android Studio version Artic Fox), run this commands if using Mac:
cd /Applications/Android\ Studio.app/Contents/jre
ln -s ../jre jdk
ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk
has worked for me in Macbook Air M1 Apple Silicon. you no need to downgrade or uninstall Java JDK.
in my case Just changed gradle version in gradle-wrapper.properties to 7.2
like this :
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
and adding the following line in gradle.properties:
org.gradle.jvmargs=-Xmx1536M --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
related solution on github
This is a known issue when using Gson and reflection for parsing Json. Updating your Android Gradle Plugin version to 7.0.0+ and the error should go away.
For those having these issues with the latest Android Studio - Electric Eel version, and other canaries and preview releases, note that the bundled jre directory in the Android Studio installation folder is now renamed to jbr
(This answer came from eja's answer on this question.)
To resolve this, just create a sym link jre -> jbr and Flutter won't complain.
On Linux
cd ~/android-studio/ && ln -s jbr jre
Windows (check installation folder)
cd C:\Program Files\Android\Android Studio
mklink /D "jre" "jbr"
or
New-Item -ItemType SymbolicLink -Path .\jre -Target .\jbr
Mac OS
cd /Applications/Android\ Studio.app/Contents
ln -s jbr jre
Note that if you are running a preview release, the default installation directory might be different, e.g. on Linux it would be
~/android-studio-preview/
You must be using JDK-16, use the version below JDK-16, in my case, I downgrade to JDK-11 and it worked for me.
I downloaded 2 JDK jdk-17.0.1 and jdk-11.0.13 and add below line on gradle.properties
org.gradle.java.home=C\:\\Program Files (x86)\\Java\\jdk-11.0.13
Also go to Android Studio (Arctic Fox)-> Project Structure -> Gradle setting and choose JDK version
I was able to fix it by upgrading grade project settings using Android Studio which replaced
classpath("com.android.tools.build:gradle:4.2.2") with classpath('com.android.tools.build:gradle:7.0.3') in android/build.gradle
Had same problem with Flutter.
I uninstalled Android Studio and Android SDK and reinstalled everything and upgraded Flutter, without success.
Then I created a new Flutter project and copied the sources from the old one, and this time it worked.
Installing JDK 1.8.0 and setting JAVA_HOME path to JDK 1.8.0's folder in environment variables worked for me.
Just added from another solution
If you have later version installed, and your project is using older version. Don't forget to check in terminal which jdk is used.
In my case my project using JDK 15. And terminal using 18. So i uninstall the other version and leaving the proper version (in my mac, just delete another jdk directory in /Libray/Java/JavaVirtualMachine)
I had the same issue with a Flutter 2 project after updating Android Studio to electric eel. I was still able to build the android project, but flutter run on the Flutter project would cause this issue. lortschi's answer was the key, but it was missing one more entry to make it work, so my final gradle.properties looks like this now:
org.gradle.jvmargs=-Xmx1536M \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.io=ALL-UNNAMED \
--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
android.useAndroidX=true
android.enableJetifier=true
I was very skeptical, but it worked.
Windows user:
Go to C:\Users\arpan.gradle\caches and delete all the gradle cache.
then,
Go to "C:\Program Files\Android\Android Studio" there you will see jbr and jre folder then copy the content of jbr and paste the content into jre folder.
ss:
and run flutter doctor again and run your App.
Check if JDK is installed or not configure your SDK also and try again
you can download JDKfrom Java SE
After I updated jdk to 18 then I got this error mention I the question. so I downgraded to jdk11. to install jdk11 please run this command I windows 10. choco install openjdk11. Hope it will fix your problem.
To run the above command you must have to install chocolatey and add it to path. chocolatey is dependency manager for windows 10. Here is link to guide
Here is the link https://community.chocolatey.org/packages/openjdk11
While running a script, I am getting the following error message in the Eclipse console:
Class has been compiled by a more recent version of the Java Environment (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0.
Java Version: 8
IDE: Eclipse Oxygen
Firefox Version: 46
This is just a version mismatch. You have compiled your code using java version 9 and your current JRE is version 8. Try upgrading your JRE to 9.
49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14
59 = Java 15
60 = Java 16
61 = Java 17
62 = Java 18
63 = Java 19
IDE: Eclipse Oxygen.3
To temporarily correct the problem do the following:
Project menu > Properties > Java Compiler > Compiler compliance level > 1.8
A permanent fix likely involves installing JDK 9.
FYI 1.8 is what Java 8 is called.
Side bar
I recently returned to Java after a foray into C# (a breath of fresh air) and installed Eclipse Oxygen onto a clean system that had never had Java installed on it before. This default everything with a brand new install of Eclipse Oxygen yet somehow or other Eclipse can't get its own parameters to match the jdk that's installed. This is the second project I created and the second time I ran into this headache. Time to go back to C#?
Related Question
has been compiled by a more recent version of the Java Runtime (class file version 53.0)
You might see this error in IntelliJ as well and this comes up in Google.
I think it's a Gradle error more than an IDE error.
The fix (stolen from here) is configure Java 11 as a Gradle JVM in IntelliJ:
File -> Settings -> Build, Execution & Development -> Build Tools -> Gradle and change Gradle JVM to 11
That screenshot stolen from the Jetbrains issue as well
You can try this way
javac --release 8 yourClass.java
For Android Studio, File -> Project Structure [Ctrl + Alt + Shift + S]
53 stands for java-9, so it means that whatever class you have has been compiled with javac-9 and you try to run it with jre-8. Either re-compile that class with javac-8 or use the jre-9
For temporary solution just right click on Project => Properties => Java compiler => over there please select compiler compliance level 1.8 => .class compatibility 1.8 => source compatibility 1.8.
Then your code will start to execute on version 1.8.
I had a similar issue from the console after building a Jar in Intellij. Using the Java configuration to update to a newer version (Windows -> Configure Java -> Update -> Update Now) didn't work and stuck at version 1.8 (Java 8).
To switch to a more recent version locally I had to install the Java 15 JDK from https://www.oracle.com/uk/java/technologies/javase-jdk15-downloads.html and add that to my Java runtime environment settings.
The solution for me was doing what Andrei Kuznetsov said at https://youtrack.jetbrains.com/issue/IDEA-251407/Failed-to-run-Android-project-in-the-Idea-20203-EAP-OutputBuildAction-has-been-compiled-by-a-more-recent-version-of-the-Java, summarized in the following image:
"Root cause: IDEA sources are now compiled against Java 11. Known workaround is to configure Java 11 as a Gradle JVM." (Andrei Kuznetsov)
Your JDK version: Java 8
Your JRE version: Java 9
Here your JRE version is different than the JDK version that's the case. Here you can compile all the java classes using JDK version 1.8. If you want to compile only one java class just change the *.java into <yourclassname>.java
javac -source 1.8 -target 1.8 *.java
source: The version that your source code requires to compile.
target: The oldest JRE version you want to support.
I'm writing this because I found the other answers hard to understand.
Essentially your JRE is not updated and/or Eclipse is not configured to use the most recent JRE.
On Windows, go to Control Panel -> Programs -> Java -> update and proceed to update java
or if you don't have Java, go to Oracle's website and download the most recent JRE.
Once this is done, go into eclipse, and under the project view, right click on your project, select Java Build Path, double click on JRE System Library, then Select Workspace Default JRE 14.1.
If a recent version of Java doesn't show up here, it probably isn't installed. Check you JRE(NOT JDK) version and make sure it's recent. If it is, try restarting the computer then trying this again.
IDE : Eclipse 2021-09
This is caused because you have compiled the code with java version 9 and have java8 installed. You don't have to update to solve this issue.
Right click on project > properties > Java Compiler > untick-Enable
project specific settings > configure workspace settings > tick-Use
default compliance settings > Apply and Close.
Now your code should be executed properly.
I've reproduced on Windows 10 the similar issue in format like:
Error: LinkageError occurred while loading main class ...
java.lang.UnsupportedClassVersionError: com/.../ServiceApplication
has been compiled by a more recent version of the Java Runtime (class file version 62.0),
this version of the Java Runtime only recognizes class file versions up to 61.0
after upgrading the project from Java 17 to Java 18.
I had project settings regarding to Java 18:
Command line:
java version "18.0.1.1" 2022-04-22
Java(TM) SE Runtime Environment (build 18.0.1.1+2-6)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.1.1+2-6, mixed mode, sharing)
Project Structure -> Project Settings -> Project:
Project Structure -> Project Settings -> Modules:
Project Structure -> Platform Settings -> SDKs:
And the reason of this issue was:
I forgot to specify the correct version for Run/Debug Configurations -> Build and run to Java 18 instead of Java 17:
As it was compiled with a newer Java version, but running on the older one.
If it's Maven-related issue, you can modify POM by specifying the -source and -target of the Java Compiler.
Additional helpful links:
Setting the Java Version in Maven
Consuming Jar Artifact of a Specific Java Version
Go to Project section, click on properties > then to Java compiler > check compiler compliance level is 1.8 , or there should be no yellow warning at bottom
Refreshing gradle dependencies works for me: Right click over the project -> Gradle -> Refresh Gradle Project.
You should check your Project Facets.
Project Properties > Project Facets
Change java version to the same version you are using. That work for me!
I faced this error in Intellij. Apparently, choosing java 1.8 as the project SDK doesn't affect the javac compiler that's used to build the project.
To change that, go to Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler, and change Project bytecode version to 8.
If you're using IntelliJ IDEA and having this error, try this.
Command + , (Open Preferences)
Build, Execution, Deployment > Build Tools > Gradle
Gradle JVM > Change it to a proper version
This is getting as an example
if your computer running on an older version of java and the Neo4J is compiled on the latest version, please try to install the same version or upper to your computer.
I'm getting the same problem with Sonarqube
has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
Sonarqube with AzureDevOps error output:
INFO: SonarScanner 4.6.2.2472
INFO: Java 1.8.0_231 Oracle Corporation (32-bit)
INFO: Windows Server 2016 10.0 x86
INFO: User cache: C:\Windows\system32\config\systemprofile.sonar\cache
INFO: Scanner configuration file: C:\agent_a_work_tasks\SonarQubePrepare_15b84ca1-b62f-4a2a-a403-89b77a063157\5.4.0\classic-sonar-scanner-msbuild\sonar-scanner-4.6.2.2472\bin..\conf\sonar-scanner.properties
INFO: Project root configuration file: C:\agent_a_work\189.sonarqube\out\sonar-project.properties
INFO: Analyzing on SonarQube server 9.4.0
INFO: Default locale: "en_AU", source code encoding: "windows-1252" (analysis is platform dependent)
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 0.405s
INFO: Final Memory: 3M/15M
##[error]ERROR: Error during SonarScanner execution
java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
I had Java v11 installed on the Sonarcube server, but the error is saying its the Build Agent that doesn't have Java v11.
I decided to add the Java v12 bin path to the Environment Variable Path for it to be detected. IMPORTANT THIS NEEDS TO BE DONE ON THE BUILD AGENT:
For a Hosted Build Agent you can install JDK v11 or use this PowerShell script step:
- task: PowerShell#2
displayName: 'Download and Install Java v11'
inputs:
targetType: 'inline'
script: |
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$Command = "c:\jdk-11.0.15_windows-x64_bin.exe"
$Parms = "/s"
Write-Host [System.IO.File]::Exists($Command)
if ([System.IO.File]::Exists($Command)) {
Write-Host 'Downloading Java11.exe'
Invoke-WebRequest https://yourOwnUrl.com/jdk-11.0.15_windows-x64_bin.exe -OutFile $Command
}
Write-Host [System.IO.File]::Exists($Command)
& "$Command" $Prms
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Java\jdk-11.0.15")
[System.Environment]::SetEnvironmentVariable("Path", [System.Environment]::GetEnvironmentVariable('Path', [System.EnvironmentVariableTarget]::Machine) + ";$($env:JAVA_HOME)\bin")
In my case, I'm building with VS2019 some C++ code that is using ANTLR4.
ANTLR4 is java based, and to use it I run java commands as a custom build step.
Earlier that day I had updated my JRE (Java Runtime Environment) on my new laptop to 1.8. Not thinking, since it's been a year since I ran ANTLR4 stuff... I need the full JDK to COMPILE with java. So I had a 1.8 RUNTIME, but the VS2019 build shell was finding the JDK1.7 compiler. Once I installed the 1.8 JDK, all was good.
So 80% of the time JRE is fine for me... it's just when I need the full JDK, DOH I need the full JDK.
In build.gradle(app) update as below: (Worked for me)
kotlinOptions {
jvmTarget = '1.8'
}
For me this problem was resolved by just installing older version of testng. Looks like It compiles with my Java 8
If you're using IntelliJ IDEA and having this error, try this.
1. Command + , (Open Preferences)
2. Build, Execution, Deployment > Build Tools > Gradle
3. Gradle JVM > Change it to a proper version
Check the version of Java configured in IDE by navigating to Settings -> Build, Execution, Deployment > Build Tools > Gradle
In my case, I use the IntellJ Idea and set JDK11 as my SDK and JDK17 in gradle setting.
Just update my SDK as JDK17, it was solved
Check the JDK in "Project Setting"(CMD+;) -> SDK
with
the gradle JVM in "Preference"(CMD+,) -> Build Tools -> gradle JVM
Faced the same issue when initialise my project from spring initizer
We need to match the version of java.sourceCompatibility and jvmTarget used for run and compile in "build.gradle.kt" file.
Last week, I updated my Mac's Android Studio from 2021.2.1 to 2021.3.1. Then our project was built failed for the similar reason:
Cause: com/android/tools/idea/gradle/run/OutputBuildAction has been
compiled by a more recent version of the Java Runtime (class file
version 55.0), this version of the Java Runtime only recognizes class
file versions up to 53.0
I found several discussion on the Jetbrains YouTrack Forum: Failed to run Android project in the Idea 2020.3 EAP (OutputBuildAction has been compiled by a more recent version of the Java Runtime (class file version 55.0)). The suggested workaround is to update the defined Gradle JDK version to JDK11, but many Android projects don't support Gradle JDK11, so does mine.
Another solution is to downgrade Android Studio from 2021.3.1 to 2021.2.1, and it worked for me. Hope it helps.
it looks like everyone is using windows for development, but if you use Linux, lower your Java version. maybe install JDK 8, the version table provided by #Nithin should give you an idea of which version you want to install.
After configuring the version of the compiler to 1.8 (your required version), try the older version of spring boot currently it is 3.0.0 by default but you can try 2.7.6 instead.
enter image description here
I have gradle 6.0.1 and JDK 13.0.1 installed and tried gradlew setupDecompWorkspace, but it tells me "Could not determine java version from '13.0.1' ". I've tried to find an answer for a week now and I can't find a solution.
edit: the result of gradlew setupDecompWorkspace --stacktrace: https://pastebin.com/NFqZpBkG
edit 2: i manually changed the wrapper.properties file and updated my gradle wrapper. Now gradlew setupDecompWorkspace --stacktrace gives me this:
https://pastebin.com/ubYj4Zq0
I installed jdk 13 and call react-native run-android, then get error above.
Solution:
Check if you have jdk 13 here: /Library/Java/JavaVirtualMachines/
ls /Library/Java/JavaVirtualMachines/
Then
cd /Library/Java/JavaVirtualMachines/
sudo rm -rf jdk-13.0.0 // your version
After that reinstall jdk-8 again.
Gradle didn't support Java 13 (without forking the compiler) until Gradle 6.0. You say that is the one you have installed, but you are not supposed to install anything when using the Gradle wrapper. Rather, the wrapper will download the version of Gradle that is defined in the gradle-wrapper.properties file.
If you run gradlew --version (and remember to use the 'w' version), there is a good chance you will see an older version. If so, either upgrade the wrapper with gradle wrapper --gradle-version 6.0.1 --distribution-type all (or newer), or downgrade Java.
I was having the same issue. 1.7.10 forge does not support gradle 6. In the \gradle\wrapper\gradle-wrapper.properties revert the gradle version to what it was before it is something like 4.x. (This is for 1.8.9 not 1.7.10 if it is 3.x maybe try JDK 7 instead of 8 if the same error occurs)
Gradle 4 does not support JDK 13. I am not sure what versions work for gradle 4 as I cannot find the documentation for the supported versions. After some trial and error, I found JDK 8 works. Download and install here.
After the installer is complete, it won't just work. You will need to set "JAVA_HOME". Go to your environment variabes (Control Panel\System and Security\System\Advanced system settings\Advanced\Environment Variables...) If "JAVA_HOME" doesn't exist in the system variables, create it. Call it "JAVA_HOME" and set the value to "C:\Program Files\Java\jdk1.8.0_241" if you used the installer I linked. After you have done this, click ok, ok, ok and close the control panel.
You are almost done! Now all you have to do is restart your computer and it should work. If it doesn't comment on this answer and # me. Hope it works.
Note: I recommend to use IntelliJ for modding and once you have decompiled, open the build.gradle with IntelliJ. Wait for it to load and then go back to your command prompt and type "gradlew genIntellijRuns" (as seen in github guide for modding)and now you are ready to start coding!
While running a script, I am getting the following error message in the Eclipse console:
Class has been compiled by a more recent version of the Java Environment (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0.
Java Version: 8
IDE: Eclipse Oxygen
Firefox Version: 46
This is just a version mismatch. You have compiled your code using java version 9 and your current JRE is version 8. Try upgrading your JRE to 9.
49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14
59 = Java 15
60 = Java 16
61 = Java 17
62 = Java 18
63 = Java 19
IDE: Eclipse Oxygen.3
To temporarily correct the problem do the following:
Project menu > Properties > Java Compiler > Compiler compliance level > 1.8
A permanent fix likely involves installing JDK 9.
FYI 1.8 is what Java 8 is called.
Side bar
I recently returned to Java after a foray into C# (a breath of fresh air) and installed Eclipse Oxygen onto a clean system that had never had Java installed on it before. This default everything with a brand new install of Eclipse Oxygen yet somehow or other Eclipse can't get its own parameters to match the jdk that's installed. This is the second project I created and the second time I ran into this headache. Time to go back to C#?
Related Question
has been compiled by a more recent version of the Java Runtime (class file version 53.0)
You might see this error in IntelliJ as well and this comes up in Google.
I think it's a Gradle error more than an IDE error.
The fix (stolen from here) is configure Java 11 as a Gradle JVM in IntelliJ:
File -> Settings -> Build, Execution & Development -> Build Tools -> Gradle and change Gradle JVM to 11
That screenshot stolen from the Jetbrains issue as well
You can try this way
javac --release 8 yourClass.java
For Android Studio, File -> Project Structure [Ctrl + Alt + Shift + S]
53 stands for java-9, so it means that whatever class you have has been compiled with javac-9 and you try to run it with jre-8. Either re-compile that class with javac-8 or use the jre-9
For temporary solution just right click on Project => Properties => Java compiler => over there please select compiler compliance level 1.8 => .class compatibility 1.8 => source compatibility 1.8.
Then your code will start to execute on version 1.8.
I had a similar issue from the console after building a Jar in Intellij. Using the Java configuration to update to a newer version (Windows -> Configure Java -> Update -> Update Now) didn't work and stuck at version 1.8 (Java 8).
To switch to a more recent version locally I had to install the Java 15 JDK from https://www.oracle.com/uk/java/technologies/javase-jdk15-downloads.html and add that to my Java runtime environment settings.
The solution for me was doing what Andrei Kuznetsov said at https://youtrack.jetbrains.com/issue/IDEA-251407/Failed-to-run-Android-project-in-the-Idea-20203-EAP-OutputBuildAction-has-been-compiled-by-a-more-recent-version-of-the-Java, summarized in the following image:
"Root cause: IDEA sources are now compiled against Java 11. Known workaround is to configure Java 11 as a Gradle JVM." (Andrei Kuznetsov)
Your JDK version: Java 8
Your JRE version: Java 9
Here your JRE version is different than the JDK version that's the case. Here you can compile all the java classes using JDK version 1.8. If you want to compile only one java class just change the *.java into <yourclassname>.java
javac -source 1.8 -target 1.8 *.java
source: The version that your source code requires to compile.
target: The oldest JRE version you want to support.
I'm writing this because I found the other answers hard to understand.
Essentially your JRE is not updated and/or Eclipse is not configured to use the most recent JRE.
On Windows, go to Control Panel -> Programs -> Java -> update and proceed to update java
or if you don't have Java, go to Oracle's website and download the most recent JRE.
Once this is done, go into eclipse, and under the project view, right click on your project, select Java Build Path, double click on JRE System Library, then Select Workspace Default JRE 14.1.
If a recent version of Java doesn't show up here, it probably isn't installed. Check you JRE(NOT JDK) version and make sure it's recent. If it is, try restarting the computer then trying this again.
IDE : Eclipse 2021-09
This is caused because you have compiled the code with java version 9 and have java8 installed. You don't have to update to solve this issue.
Right click on project > properties > Java Compiler > untick-Enable
project specific settings > configure workspace settings > tick-Use
default compliance settings > Apply and Close.
Now your code should be executed properly.
I've reproduced on Windows 10 the similar issue in format like:
Error: LinkageError occurred while loading main class ...
java.lang.UnsupportedClassVersionError: com/.../ServiceApplication
has been compiled by a more recent version of the Java Runtime (class file version 62.0),
this version of the Java Runtime only recognizes class file versions up to 61.0
after upgrading the project from Java 17 to Java 18.
I had project settings regarding to Java 18:
Command line:
java version "18.0.1.1" 2022-04-22
Java(TM) SE Runtime Environment (build 18.0.1.1+2-6)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.1.1+2-6, mixed mode, sharing)
Project Structure -> Project Settings -> Project:
Project Structure -> Project Settings -> Modules:
Project Structure -> Platform Settings -> SDKs:
And the reason of this issue was:
I forgot to specify the correct version for Run/Debug Configurations -> Build and run to Java 18 instead of Java 17:
As it was compiled with a newer Java version, but running on the older one.
If it's Maven-related issue, you can modify POM by specifying the -source and -target of the Java Compiler.
Additional helpful links:
Setting the Java Version in Maven
Consuming Jar Artifact of a Specific Java Version
Go to Project section, click on properties > then to Java compiler > check compiler compliance level is 1.8 , or there should be no yellow warning at bottom
Refreshing gradle dependencies works for me: Right click over the project -> Gradle -> Refresh Gradle Project.
You should check your Project Facets.
Project Properties > Project Facets
Change java version to the same version you are using. That work for me!
I faced this error in Intellij. Apparently, choosing java 1.8 as the project SDK doesn't affect the javac compiler that's used to build the project.
To change that, go to Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler, and change Project bytecode version to 8.
If you're using IntelliJ IDEA and having this error, try this.
Command + , (Open Preferences)
Build, Execution, Deployment > Build Tools > Gradle
Gradle JVM > Change it to a proper version
This is getting as an example
if your computer running on an older version of java and the Neo4J is compiled on the latest version, please try to install the same version or upper to your computer.
I'm getting the same problem with Sonarqube
has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
Sonarqube with AzureDevOps error output:
INFO: SonarScanner 4.6.2.2472
INFO: Java 1.8.0_231 Oracle Corporation (32-bit)
INFO: Windows Server 2016 10.0 x86
INFO: User cache: C:\Windows\system32\config\systemprofile.sonar\cache
INFO: Scanner configuration file: C:\agent_a_work_tasks\SonarQubePrepare_15b84ca1-b62f-4a2a-a403-89b77a063157\5.4.0\classic-sonar-scanner-msbuild\sonar-scanner-4.6.2.2472\bin..\conf\sonar-scanner.properties
INFO: Project root configuration file: C:\agent_a_work\189.sonarqube\out\sonar-project.properties
INFO: Analyzing on SonarQube server 9.4.0
INFO: Default locale: "en_AU", source code encoding: "windows-1252" (analysis is platform dependent)
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 0.405s
INFO: Final Memory: 3M/15M
##[error]ERROR: Error during SonarScanner execution
java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
I had Java v11 installed on the Sonarcube server, but the error is saying its the Build Agent that doesn't have Java v11.
I decided to add the Java v12 bin path to the Environment Variable Path for it to be detected. IMPORTANT THIS NEEDS TO BE DONE ON THE BUILD AGENT:
For a Hosted Build Agent you can install JDK v11 or use this PowerShell script step:
- task: PowerShell#2
displayName: 'Download and Install Java v11'
inputs:
targetType: 'inline'
script: |
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$Command = "c:\jdk-11.0.15_windows-x64_bin.exe"
$Parms = "/s"
Write-Host [System.IO.File]::Exists($Command)
if ([System.IO.File]::Exists($Command)) {
Write-Host 'Downloading Java11.exe'
Invoke-WebRequest https://yourOwnUrl.com/jdk-11.0.15_windows-x64_bin.exe -OutFile $Command
}
Write-Host [System.IO.File]::Exists($Command)
& "$Command" $Prms
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Java\jdk-11.0.15")
[System.Environment]::SetEnvironmentVariable("Path", [System.Environment]::GetEnvironmentVariable('Path', [System.EnvironmentVariableTarget]::Machine) + ";$($env:JAVA_HOME)\bin")
In my case, I'm building with VS2019 some C++ code that is using ANTLR4.
ANTLR4 is java based, and to use it I run java commands as a custom build step.
Earlier that day I had updated my JRE (Java Runtime Environment) on my new laptop to 1.8. Not thinking, since it's been a year since I ran ANTLR4 stuff... I need the full JDK to COMPILE with java. So I had a 1.8 RUNTIME, but the VS2019 build shell was finding the JDK1.7 compiler. Once I installed the 1.8 JDK, all was good.
So 80% of the time JRE is fine for me... it's just when I need the full JDK, DOH I need the full JDK.
In build.gradle(app) update as below: (Worked for me)
kotlinOptions {
jvmTarget = '1.8'
}
For me this problem was resolved by just installing older version of testng. Looks like It compiles with my Java 8
If you're using IntelliJ IDEA and having this error, try this.
1. Command + , (Open Preferences)
2. Build, Execution, Deployment > Build Tools > Gradle
3. Gradle JVM > Change it to a proper version
Check the version of Java configured in IDE by navigating to Settings -> Build, Execution, Deployment > Build Tools > Gradle
In my case, I use the IntellJ Idea and set JDK11 as my SDK and JDK17 in gradle setting.
Just update my SDK as JDK17, it was solved
Check the JDK in "Project Setting"(CMD+;) -> SDK
with
the gradle JVM in "Preference"(CMD+,) -> Build Tools -> gradle JVM
Faced the same issue when initialise my project from spring initizer
We need to match the version of java.sourceCompatibility and jvmTarget used for run and compile in "build.gradle.kt" file.
Last week, I updated my Mac's Android Studio from 2021.2.1 to 2021.3.1. Then our project was built failed for the similar reason:
Cause: com/android/tools/idea/gradle/run/OutputBuildAction has been
compiled by a more recent version of the Java Runtime (class file
version 55.0), this version of the Java Runtime only recognizes class
file versions up to 53.0
I found several discussion on the Jetbrains YouTrack Forum: Failed to run Android project in the Idea 2020.3 EAP (OutputBuildAction has been compiled by a more recent version of the Java Runtime (class file version 55.0)). The suggested workaround is to update the defined Gradle JDK version to JDK11, but many Android projects don't support Gradle JDK11, so does mine.
Another solution is to downgrade Android Studio from 2021.3.1 to 2021.2.1, and it worked for me. Hope it helps.
it looks like everyone is using windows for development, but if you use Linux, lower your Java version. maybe install JDK 8, the version table provided by #Nithin should give you an idea of which version you want to install.
After configuring the version of the compiler to 1.8 (your required version), try the older version of spring boot currently it is 3.0.0 by default but you can try 2.7.6 instead.
enter image description here