无法定位平台:“Java SE 11”使用工具链:“JDK 8 (1.8)”

Dan*_*ney 14 heroku spring-boot

试图将我的应用程序部署到 heroku,但它一直失败并显示错误:无法定位平台:'Java SE 11' 使用工具链:'JDK 8 (1.8)'

我有我的 JAVA_HOME、JAVA_PATH 等等.. 设置,我在这里有所有这些的图像,我认为它们是正确的。如果我检查 java -version 和 javac -version,它们都显示 java 11。

我还尝试将 system.properties.txt 文件放入根文件夹,并将其中包含 java.runtime.version=11 的 .gradle 文件而不是 .txt 放入根文件夹。

我的 build.gradle 中也有这个:

sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
Run Code Online (Sandbox Code Playgroud)

但是它会在部署开始时继续安装 jdk8(git push heroku master),如下所示:

Gradle app detected
remote: -----> Spring Boot detected
remote: -----> Installing JDK 1.8... done
remote: -----> Building Gradle app...
remote: -----> executing ./gradlew build -x test
remote:        Downloading https://services.gradle.org/distributions/gradle-5.4.1-all.zip
Run Code Online (Sandbox Code Playgroud)

这是部署失败的图像和设置的环境变量。

在此处输入图片说明 在此处输入图片说明

我已经遇到这个问题一个星期了,我想我已经尝试了所有的方法,但是如果有人能帮助我解决这个问题,我会非常高兴。谢谢!

Mar*_*ali 1

我在 Linux Ubuntu 中使用 openjdk 11 时遇到了同样的问题。
但它在我的工作笔记本电脑上运行正常。相同的操作系统 Ubuntu 18.04 LTS。
我检查了我笔记本上的jdk版本:

/usr/lib/jvm/java-11-openjdk-amd64/bin/java
Run Code Online (Sandbox Code Playgroud)

但它里面使用的是工具链:“JDK 10 (1.10)”所以我收到了这条消息

using tool chain: 'JDK 10 (1.10)'
Run Code Online (Sandbox Code Playgroud)

我检查了我的工作笔记本电脑,它有

 openjdk version "11.0.4" 2019-07-16
 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.4+11)
 OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.4+11, mixed mode)
Run Code Online (Sandbox Code Playgroud)

搜索 openjdk 我发现了这个网站 https://adoptopenjdk.net 我可以在其中获得 OpenJDK 11 (LTS) build 11.0.4+11

将其添加到替代品后

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk-11.0.4+11/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk-11.0.4+11/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javadoc" "javadoc" "/usr/lib/jvm/jdk-11.0.4+11/bin/javadoc" 1
Run Code Online (Sandbox Code Playgroud)

然后选择他们中的所有人

sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javadoc
Run Code Online (Sandbox Code Playgroud)

问题解决后。我希望这可以帮助别人。