Файлы Java сохраняются в папке Commands вместо папки bin - PullRequest
0 голосов
/ 11 ноября 2018

Я установил JAVA на MacBook Air с помощью следующей команды:

$ brew cask install java

И обнаружил, что все файлы, которые предположительно находятся в /bin, хранятся в другой папке с именем /Commands по следующему пути:

/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands

enter image description here

Итак, я определил JAVA_HOME как показано ниже:

// Opened .bash_profile file
Hasans-Air:~ h_ajsf$ sudo code $HOME/.bash_profile
// Add the below to the .bash_profile file
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands
//Saved the file
//Updated env by:
Hasans-Air:~ h_ajsf$ source $HOME/.bash_profile
//Check for JAVA_HOME
Hasans-Air:~ h_ajsf$ echo $JAVA_HOME
/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands

Затем во время работы flutter doctor, чтобы проверить правильность всех настроек, я получил следующую ошибку:

[!] Android toolchain - develop for Android devices (Android SDK 28.0.3) ✗ Cannot execute /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/bin/java to determine the version

Что означает Flutter ищет $JAVA_HOME/bin, которого у меня нет в наличии! как можно заставить Flutter игнорировать /bin или как заставить brew cask рассмотреть вопрос о добавлении /bin

Друг предложил удалить openJDK:

Hasans-Air:~ h_ajsf$ brew cask uninstall java --force

И замените его на java8, и настройте JAVA_HOME, как объяснено здесь как:

Hasans-Air:~ h_ajsf$ brew tap caskroom/versions
Hasans-Air:~ h_ajsf$ brew search "java*"
Hasans-Air:~ h_ajsf$ brew cask info java8
Hasans-Air:~ h_ajsf$ brew cask install java8
// Opened .bash_profile file
Hasans-Air:~ h_ajsf$ sudo code $HOME/.bash_profile
// Add the below to the .bash_profile file
export JAVA_HOME=$(/usr/libexec/java_home)
// Save the file
// Refresh the environment variables
Hasans-Air:~ h_ajsf$ source $HOME/.bash_profile
//Check for JAVA_HOME
Hasans-Air:~ h_ajsf$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_192.jdk/Contents/Home

Но я бы хотел использовать openJDK на самом деле.

...