错误:“找不到与版本“ 1.8”匹配的JVM。”

时间:2020-04-29 19:03:22

标签: java flutter

当我运行flutter创建x或flutter医生时,我收到以下消息 “找不到与版本a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] rotateImage(a); function rotateImage(a) { const image = [...a] const length = a.length const rotatedImage = [] for(var i = 0; i < length; i++){ rotatedImage.push([]); }; for(let i=0;i<length;i++){ for(let j=0;j<length;j++){ let toRotateCoord = length-(1+j) rotatedImage[i][j] = image[toRotateCoord][i] } } return rotatedImage; } 匹配的JVM。

我也尝试在StackOverFlow上关注另一个线程,但是它没有帮助,因为它没有指定如果您已经安装了Java,该怎么办。当我运行java-version时,我收到以下消息:

java版本1.8 2019-10-15 Java(TM)SE运行时环境(内部版本13.0.1 + 9) Java HotSpot(TM)64位服务器VM(内部版本13.0.1 + 9,混合模式,共享)

预先感谢您的帮助!

编辑:我找到了解决方法!

13.0.1

我所做的就是用已经安装的JDK替换1.7,现在它可以工作了。该线程可以在下面找到:

How to set JAVA_HOME environment variable on Mac OS X 10.9?

2 个答案:

答案 0 :(得分:3)

您已在应用程序寻找Java 8的同时安装了Java13。因此,请安装Java 8并将其设置为默认的jvm / jre(设置JAVA_HOME)。

希望有帮助!

答案 1 :(得分:0)

一个猜测,因为我不使用Flutter…

Java更改了其版本编号方案

Java更改了报告自己版本号的方式。在早期版本中,数字始终为1.x.y,其中x是我们俗称的版本。最终,Sun / Oracle决定正式使用该通用功能。因此,现在使用的更高版本(例如您正在使用的版本)删除了1.。 Java现在将自己标识为1.13.y,而不是13.y

更新Flutter

版本编号方案的这种更改可能会使希望版本号始终报告1.x.y的旧软件感到困惑。需要对此类软件进行更新以了解新的号码方案。

我建议您将Flutter库更新为更新的版本(如果存在)。

降级Java

如果不是因为这个微小的版本号解释问题,大多数Java 8应用程序应该在Java 13上运行都没有问题。因此,您不必将Java 13降级为Java 8即可运行您的应用程序。但是,如果Flutter从未正确更新,则可能需要降级以解决此问题。

如果您确实需要降级,这是我制作的流程图,旨在帮助您找到Java实现的供应商。该图表以Java 11为目标,但是大多数供应商也提供Java 8实现。

Flowchart guiding you in choosing a vendor for a Java 11 implementation

Motivations in choosing a vendor for Java