有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

linux sdkman gradle 3.4无法确定java版本

当在gradle 5.6.1终端工作时,许多事情都按预期工作。例如,更改为较旧的java版本(1)。如果我改为gradle 3.4,gradle将不再找到jdk(1)

如何让gradle 3.4再次在我的系统上工作

我想建立一个项目,我曾经与gradle 3.4。但是,我没有gradle包装器,并且由于gradle 5.6.1的更改,构建似乎已中断

(一)

user@system:~$ sdk u gradle 3.4                                                                      

Using gradle version 3.4 in this shell.                                                                           
user@system:~$ gradle -v                                                                             

FAILURE: Build failed with an exception.                                                                          

* What went wrong:                                                                                                
Could not determine java version from '11.0.5'.                                                                   

* Try:                                                                                                            
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
user@system:~$ sdk u java 9.0.4

Stop! java 9.0.4 is not available. Possible causes:
 * 9.0.4 is an invalid version
 * java binaries are incompatible with Linux64
 * java has not been released yet
user@system:~$ sdk u java 9.0.4-open

Using java version 9.0.4-open in this shell.
user@system:~$ gradle

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '9.0.4'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

(二)

user@system:~$ gradle -v                                                                                         
                                                                                                                      ------------------------------------------------------------                                                      
Gradle 5.6.1                                                                                                      
------------------------------------------------------------                                                      

Build time:   2019-08-28 02:49:34 UTC                                                                             
Revision:     b6bd8e7934ca41d9e52610058aa7cb834df81fc4                                                            

Kotlin:       1.3.41
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.14 compiled on March 12 2019                                            
JVM:          11.0.5 (Debian 11.0.5+10-post-Debian-1deb10u1)                                                     
OS:           Linux 4.19.0-6-amd64 amd64

user@system:~$ sdk u java 9.0.4-open

Using java version 9.0.4-open in this shell.
user@system:~$ gradle -v
------------------------------------------------------------                                                     
Gradle 5.6.1
------------------------------------------------------------                                                     

Build time:   2019-08-28 02:49:34 UTC
Revision:     b6bd8e7934ca41d9e52610058aa7cb834df81fc4

Kotlin:       1.3.41
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM:          9.0.4 (Oracle Corporation 9.0.4+11)
OS:           Linux 4.19.0-6-amd64 amd64

共 (2) 个答案

  1. # 2 楼答案

    不同版本的Gradle支持在不同版本的Java上运行。据我所知,您需要Gradle 4.2.1来完全支持Java 9。你确定这是你在旧项目中使用的组合吗?如果是这样的话,您可能想尝试Java 9的初始版本(没有任何点版本)。如果它只是在版本解析中失败了,可能会有所帮助。但我很确定这种组合还有其他问题

    在任何情况下,您都需要从3.4升级Gradle或从9.0.4降级Java