How to change the Gradle version? - java

I would like to change the Gradle version to 3.5.1 according to the project version received from git using this eclipse.
So I changed the editing path for the system environment variable, but if you enter 'gradle -v' in cmd, only 4.4 appears.
I looked for various solutions on the Internet, but it didn't work out.
How can I change the version?
And how can I erase the existing version 4.4 completely? I tried to erase it, but it kept popping up even if I deleted all the related files.
gradle -v:

One of the easiest way to change the gradle version is using sdkman. Install the required version you want and change whenever you want. Then hit
sdk install gradle <versionId>
sdk use gradle <versionId>
To check the list of versions installed
sdk list gradle

First, you need to know where Gradle is installed on your device. You can type where gradle in your terminal and the path will pop up.
Then, after you deleted the old version, go to the download page to download version 3.5.1. After download, follow the instructions in Installing manually in the Gradle installation guide.
Make sure that the old version is not included in your environment variables. If so, remove the old version and add the new one.
You can check Windows path variable by typing echo %PATH% in CMD.

Using Gradle Wrapper
To quote the manual:
If your existing Gradle-based build uses the Gradle Wrapper, you can easily upgrade by running the wrapper task, specifying the desired Gradle version:
./gradlew wrapper --gradle-version=7.4.2 --distribution-type=bin

Related

How can I switch java verisons in intelliJ?

I'm using the linux beta installation on my chrome-book, and I'm trying to set up a project to use the jdk version 1.8. I previously had a project set up that uses jdk 1.11, and now it seems that even though the current project is configured to use jdk 1.8 in project settings etc, the maven installation used by intellij is still configured to use jdk 1.11. When I run java -version and mvn -verison in the intelliJ terminal, java 11 turns up. I tried changing the maven settings as well, but whenever I try to mvn compile and install, I get the following error:
/usr/lib/jvm/jdk1.8.0_271/bin/java: 1: /usr/lib/jvm/jdk1.8.0_271/bin/java: Syntax error: "(" unexpected
I can't figure out why this is happening, but it must be the fact that maven thinks this is java 11, when it's java 8. Does anyone know how to fix this?
CTRL-ALT-SHIFT-S / Project / Project SDK - you can choose existing or add configure another one
It turns out I had downloaded jdk-8u271-linux-arm64.tar.gz instead of jdk-8u271-linux-x64.tar.gz, which is why the code wasn't recognized after installing the jdk. Apparently the two are designed for different CPU architectures, and arm is for mobile devices, and wasn't compatible with my chromebook.

IntelliJ/Gradle Could not determine java version from '11.0.1'

I'm running a Linux Ubuntu 18 OS. Installed jdk in a custom local directory.
Normally, IntelliJ recommends that you use the default gradle wrapper. But in my case, I want to be able to change the Gradle Version on the fly whenever it's due for an update.
If you use IntelliJ with Gradle, and you bump into the following error:
Could not determine java version from '11.0.1'
If you use IntelliJ
Checks:
Navigate to:
File >> Settings >> Build, Execution, Deployment >> Build Tools >> Gradle.
Alongside Gradle JVM:
make sure you select the correct version of Java.
Navigate to:
Right-Click 'Project Root Directory' & Select Open Module Settings. Project Structure windows shows-up. Make sure your JDK home path is added to the Platform Settings >> SDKs : JDK home path
Still, on the same window Project Structure, select correct SDK relevant to your project under
Project Settings >> Modules : Module SDK
Fix/Solution:
Nvavigate to & open: gradle/wrapper/gradle-wrapper.properties & update the distributionUrl version to the latest version.
In my case (at the time of this post), my older version was:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
And my latest version is:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-bin.zip
As shown below:
In your build.gradle file make sure you set:
sourceCompatibility = 11
If you are using the latest version of intellijIdea.
In my case, 2019.1 -version
Delete the directory idea's jdk
then RESTART idea.
for detail see this pic
Hope this is working for you !
In chinese:
(If you can't read chinese,you needn't to read this.All you need to know have typed above already)
如果你是用最新版本的intellijidea.由于intellijidea默认安装了11的java。而且就算你输入java -verison,告诉你是java8,在ide里面也配置了java 8 idea还是告诉你这个错误。
只有通过删除idea自己下载java11版本,可以解决这个问题。直接删除应用包下的jdk文件夹,重启idea就可以。如下图。
Your gradle is too old for that JDK, upgrade your gradle or downgrade you JDK
I noticed a subtlety in the way you download the IDE from jetbains.com
You probably want JBR 8 and not JBR 11. Also, make sure your JDK is setup properly with jbsdk bintray downloader plugin.
I recently upgraded my Ubantu to 18 from 16. After that I am facing this issue. Problem was during ubantu upgrade java is automatically upgraded to 11 from 8. Hence getting this error. You can simply downgrade jdk using this to solve this. Works for me.
Reintalling Intellij Worked for me.
You need to uninstall first before reinstall. While uninstalling, ensure to select option to delete older cache and settings
check , maybe you have 2 times gradle in path
MODIFY default Boot JDK
OPEN the Action Dialog
SEARCH : switch boot jdk
SELECT the JDK installed by you rather than the intellij default
RESTART intellij idea
IGNORE this popup at right-bottom on IDE
HOPE this solution is work for you .

Gradle: Could not determine java version from '11.0.2'

I ran the following comment:
./gradlew app:installDebug
only to be met with the log:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11.0.2'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
My version of gradle is 5.1.1:
------------------------------------------------------------
Gradle 5.1.1
------------------------------------------------------------
Build time: 2019-01-10 23:05:02 UTC
Revision: 3c9abb645fb83932c44e8610642393ad62116807
Kotlin DSL: 1.1.1
Kotlin: 1.3.11
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11.0.2 (Oracle Corporation 11.0.2+9-LTS)
OS: Mac OS X 10.13.6 x86_64
I'm not sure how to proceed (I tried upgrading/downgrading, but nothing has worked so far).
UPDATE: When I ran ./gradlew --version, I got the following:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11.0.2'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
My .../gradle/wrapper/gradle-wrapper.properties contains the following including distributionUrl=.../gradle-4.1-rc-1-all.zip:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-rc-1-all.zip
There are two different Gradle applications in your system.
the system-wide Gradle
This application is invoked by gradle (arguments).
the gradle-wrapper
The gradle-wrapper is specific to every project and can only be invoked inside the project's directory, using the command ./gradlew (arguments).
Your system-wide gradle version is 5.1.1 (as the OP explained in the comments, running the command gradle --version returned version 5.1.1).
However, the failure is the result of a call to the gradle-wrapper (./gradlew). Could you check your project's gradle wrapper version? To do that, execute ./gradlew --version inside your project's folder, in the directory where the gradlew and gradlew.bat files are.
Update 1:
As running ./gradlew --version failed, you can manually check your wrapper's version by opening the file:
(project's root folder)/gradle/wrapper/gradle-wrapper.properties
with a simple text editor. The "distributionUrl" inside should tell us what the wrapper's version is.
Update 2:
As per the OP's updated question, the gradle-wrapper's version is 4.1RC1.
Gradle added support for JDK 11 in Gradle 5.0. Hence since 4.1RC does not support running on JDK 11 this is definitely a problem.
The obvious way, would be to update your project's gradle-wrapper to version 5.0.
However, before updating, try running gradle app:installDebug. This will use your system-wide installed Gradle whose version is 5.1.1 and supports running on Java 11. If this works, then your buildscript (file build.gradle) is not affected by any breaking changes between v.4.1RC1 and v.5.1.1 and you can then update your wrapper by executing from the command line inside your project's folder: gradle wrapper --gradle-version=5.1.1 [*].
If gradle app:installDebug fails to execute correctly, then maybe you need to upgrade your Gradle buildscript. For updating from v.4.1RC1 to 5.1.1, the Gradle project provides a guide (1, 2) with breaking changes and deprecated features between minor releases, so that you can update gradually to the latest version.
Alternatively, if for some reason you can't or don't want to upgrade your Gradle buildscript, you can always choose to downgrade your Java version to one that Gradle 4.1RC1 supports running on.
[*] As correctly pointed out in the answer by #lupchiazoem, use gradle wrapper --gradle-version=5.1.1 (and not ./gradlew as I had originally posted there by mistake). The reason is Gradle runs on Java. You can update your gradle-wrapper using any working Gradle distribution, either your system-wide installed Gradle or the gradle-wrapper itself. However, in this case your wrapper is not compatible with your installed Java version, so you do have to use the system-wide Gradle (aka gradle and not ./gradlew).
As distributionUrl is still pointing to older version, upgrade wrapper using:
gradle wrapper --gradle-version 5.1.1
Note: Use gradle and not gradlew
Updating gradle/wrapper/gradle-wrapper.properties with the following version fixed it for me:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
In my case the JAVA_HOME variable was set to /usr/lib/jvm/jdk-11.0.2/. It was sufficient to unset the variable like this:
$ export JAVA_HOME=
tl;dr: downgrade java by running update-alternatives
My system gradle version was 4.4.1, and the gradle wrapper version was 4.0. After running the command given by several other answers:
gradle wrapper --gradle-version 4.4.1
I still had the same error:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11.0.4'.
It turns out java 11 wasn't supported until gradle 4.8, and my software repositories only had 4.4.1. (Also, upgrading to newer gradle version might have been incompatible with the package I was trying to compile.)
The answer was to downgrade java. My system actually had java8 already installed, and it was easy to switch between java versions by running this command and following the instructions:
sudo update-alternatives --config java
I had the same problem here.
In my case I need to use an old version of JDK and I'm using sdkmanager to manage the versions of JDK, so, I changed the version of the virtual machine to 1.8.
sdk use java 8.0.222.j9-adpt
After that, the app runs as expected here.
To put long answer short, upgrade your gradlew using the system gradle tool. Note that the below upgrade works even if your system gradle version is < 5.
gradle wrapper --gradle-version=5.1.1
Because your wrapper version does not support 11+ you can make simple trick to cheat newer version of InteliJ forever.
press3x Shift -> type "Switch Boot JDK" -> and change for java 8.
Or If you want to work with java 11+ you simply have to update wrapper version to 4.8+
I've had the same issue. Upgrading to gradle 5.0 did the trick for me.
This link provides detailed steps on how install gradle 5.0
I had the same issue in Windows. My gradle configuration was to set use JDK1.8, but JAVA_HOME was configured to use another JDK.
Solution :
Set JAVA_HOME properly based on your configured JDK in gradle
In my case, I was trying to build and get APK for an old Unity 3D project (so that I can play the game in my Android phone). I was using the most recent Android Studio version, and all the SDK packages I could download via SDK Manager in Android Studio. SDK Packages was located in
C:/Users/Onat/AppData/Local/Android/Sdk
And the error message I got was the same except the JDK (Java Development Kit) version "jdk-12.0.2" . JDK was located in
C:\Program Files\Java\jdk-12.0.2
And Environment Variable in Windows was JAVA_HOME : C:\Program Files\Java\jdk-12.0.2
After 3 hours of research, I found out that Unity does not support JDK 10, as told here. My suggestion is:
Uninstall unwanted JDK if you have one installed already.
Head here
Login to/Open a Oracle account if not already logged in.
Download the older but functional JDK 8 for your computer set-up(32 bit/64 bit, Windows/Linux etc.)
Install the JDK. Remember the installation path.
If you are using Windows, Open Environment Variables and change Java Path via Right click My Computer/This PC>Properties>Advanced System Settings>Environment Variables>New>Variable Name: JAVA_HOME>Variable Value: [YOUR JDK Path, Mine was "C:\Program Files\Java\jdk1.8.0_221"]
In Unity 3D, press Edit > Preferences > External Tools and fill in the JDK path (Mine was "C:\Program Files\Java\jdk1.8.0_221").
Also, in the same pop-up, edit SDK Path. (Get it from Android Studio > SDK Manager > Android SDK > Android SDK Location.)
If needed, restart your computer for changes to take effect.
Just goto your "project folder/gradle/gradle-wrapper.properties" and in distibutionUrl where your gradle version is metioned, check the new updated gradle version from here and change it in "distributionUrl" and done!
I had a similar problem: my default gradle wrapper was version 4.x, while the support for higher versions of Java has been added in Gradle 5.
I've updated my gradlew as described here: https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:upgrading_wrapper
TLTD:
./gradlew wrapper --gradle-version 5.6.2
I have the similar issue in Windows with redhat java-11 version, edited the gradle-wrapper.properties and updated the distributionUrl as below with gradle-6.5.1-bin.zip
and its working for me.
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip
If you've android studio version 4.2.2 its starts as default Java 11.0.8
Check your version Android Studio -> About Android Studio
Change 11.0.8 to JDK 8
1- Install the JDK8
2- Install the Choose Runtime plugin
3- Open action tab: Command + Shift + A ⇧⌘A
4- Choose runtime and select jdk 8 on list
Head over toandroid/gradle/wrapper/gradle-wrapper.properties and update the distributionUrl with the latest gradle version.
Go to https://gradle.org/releases/ to get the latest version, then edit it here.
https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
7.3.3 being the latest version release.
https\://services.gradle.org/distributions/gradle-#latest_gradle-version#-all.zip
Navigate to Project/gradle/wrapper/gradle-wrapper.properties and manually changed the distributionUrl to distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-bin.zip and it worked Hope this helps someone.
I solved this by clicking on File -> Project Structure then changed the JDK Location to Use Embedded JDK (Recommended)
Getting this error when doing a cordova build android --release
I was able to resolve this, after trying so so many different things, by simply doing :
npm install cordova -g # to upgrade to version 10.0.0
cordova platform rm android
cordova platform add android # to upgrade to android version 9.0.0
I ran into a similar issue. I deleted these:
libraries and caches from the .idea folder ( YourApp > .idea > .. ) AND
contents of the build folder.
then rebuild.
* DON'T FORGET TO BACKUP YOUR PROJECT FIRST *
I was facing the same issue in Docker setup, while I was trying to install Gradle-2.4 with JDL 11.0.7. I have to install a later version to fix the issue.
Here is the Working Dockerfile
FROM openjdk:11.0.7-jdk
RUN apt-get update && apt-get install -y unzip
WORKDIR /gradle
RUN curl -L https://services.gradle.org/distributions/gradle-6.5.1-bin.zip -o gradle-6.5.1-bin.zip
RUN unzip gradle-6.5.1-bin.zip
ENV GRADLE_HOME=/gradle/gradle-6.5.1
ENV PATH=$PATH:$GRADLE_HOME/bin
RUN gradle --version
The simplest for a quick and dirty test is to just use an override, for example:
> JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/ ./gradlew build
since the wrapper checks for JAVA_HOME you can just pick any you want on each run.
You might missed to install maven please install the maven then please checked. it will work after ....
As others have mentioned, Java 11 support was added in Gradle 5. The solution is to upgrade your Gradle wrapper:
Go here to figure out the latest version of Gradle: https://gradle.org/releases/
Upgrade the Gradle wrapper
If you have Gradle installed on your machine:
gradle wrapper --gradle-version 7.2
If you don't have Gradle installed:
Modify gradle/wrapper/gradle-wrapper.properties
Update distributionUrl with the latest version of Gradle, e.g.
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
Upgrade the remaining wrapper files (gradle-wrapper.jar, gradlew, gradlew.bat)
./gradlew wrapper --gradle-version 7.2
Since you're upgrading from an old version of Gradle, you'll probably get errors like these:
Could not find method compile() for arguments ...
Could not find method testCompile() for arguments ...
To fix these, edit build.gradle and replace every instance of compile with implementation and replace testCompile with testImplementation.
I ran into the same issue in Ubuntu 18.04.3 LTS. In my case, apt installed gradle version 4.4.1. The already-install java version was 11.0.4
The build message I got was
Could not determine java version from '11.0.4'.
At the time, most of the online docs referenced gradle version 5.6, so I did the following:
sudo add-apt-repository ppa:cwchien/gradle
sudo apt update
sudo apt upgrade gradle
Then I repeated the project initialiation (using gradle init with the defaults). After that, ./gradlew build worked correctly.
I later read a comment regarding a change in format of the output from java --version that caused gradle to break, which was fixed in a later version of gradle.
got to project file..
gradle/wrapper/gradlewrapper.properties
there you can change the value of distributionurl to what ever the lastest version is. (Found on docs.gradle.org)
I am running Gradle on Windows.
In my case, I already had the older Gradle version present in my system and set it into the "Environment Variable".
That is the reason the error occurred.
So I removed the old version, set the new one in "Environment Variable" - path variable and its starts working.
if you're working on a legacy project; Up the gradle version to 6.9 and the Gradle plugin version to 4.2.2. This is the Gradle version to which you can safely turn up without anything breaking.

Android Studio gradle wrong version

Updated Android studio.
Downloaded Gradle. Changed Gradle folder in PC's environmental settings.
In computer, gradle -version returns Gradle 4.4.1.
In Android Studio, returns Gradle 3.5
Smart Android IDE refuses to recognise gradle and I can't compile.
It even gives the wrong error message
Minimum supported Gradle version is 4.1. Current version is 3.5. If using the gradle wrapper, try editing the distributionUrl in C:\xxxxxx\gradle\wrapper\gradle-wrapper.properties to gradle-4.1-all.zip
I have tried restarting, invalidate and restart. Nothing works.
How to fix it?
You need to go to
File->Settings->Build,Execution,Deployment->Gradle
Then tick User local gradle distribution and set the path to your local gradle
Fixed it by restarting the computer.
Restarting the IDE is not good enough. After restarting computer and going into Android Studio's terminal, typing in gradle -version shows the correct version. That's when I know it'd work. Sure enough, gradle commands now work.
Answered this just to show how genius the IDE written by geniuses is.
I check android studio offical web, android studio IDE now support version just to gradle-4.1.
I think you can go to gradle-wrapper.properties, and change to distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
or
distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip
, maybe it can solve the problem.
Reference site:
https://developer.android.com/studio/releases/gradle-plugin.html
I faced this problem and i had fixed it. first goto https://services.gradle.org/distributions/gradle-4.10.1-all.zip and download it locally. Goto File->Settings->Build,Execution,Deployment->Gradle and select "Use local gradle" and set local gradle path that you downloaded just.
gradle path

Intellij build after gradle refresh fails on wrong java version

I am using Gradle with intellij.
I refresh Gradle and then I rebuild my project.
I get the following
Notice the first line - Using:javac 1.8.0_65
But I get the error that I should use -source7 or higher.
I also set the following at the settings
(With all of the inner modules are set to project sdk (1.8))
But I still can't rebuild or compile without this error.
Any suggestions?
(obviously i deleted all my classes and jars and then Gradle refreshed and rebuild project)
Same issue; got it solved with the following:
Go to: File / Settings / Build,Execution,Deployment / Build Tools /
Gradle / Gradle JVM
Then choose: Use JAVA_HOME
As of your second screen, make sure that all your modules are using the project default SDK, like in the screen below. The module setting may somehow be set to point older java version.
I had this problem while trying to build Android Studio. I kept getting
Tools need to be compiled with Java 1.8, you are using Java 11
Everything in the Intellij global and "Project Structure" settings was set to Java 1.8 so I couldn't figure out what was going on. For whatever reason, what ended up working was going to Build, Execution, Deployment > Build > Gradle and selecting the Amazon corretto version of Java 1.8 as installed by sdkman. This is baffling since I'd already tried selecting two other options for Gradle JVM that said 1.8 and both of those still resulted in the same error message as a result of Java 11 being used.
I finally resolved this issue for myself. I'm on Windows and it turns out the order in which the JDKs are listed in the Windows environment variable matter, and overrode what IDEA had set.
Although my project has JDK11 listed everywhere, JDK17 was still being used. I was able to finally resolve this issue by moving their ordering to list JDK11 first.
before I swapped the env var order
after (hurray!)

Categories