web-dev-qa-db-ja.com

LinuxのWindowsサブシステムがJava_HOME環境変数を認識しない

WSLに、WindowsにインストールされたJava_HOMEの環境変数を認識させようとしています。 bashrcにあるものと、windows環境変数にあるものを、cmdとbashからの出力とともに添付しました。 Java_HOME Env. Var.

<code>enter image description here</code>

私のbashrcの最後にあるもの:

export Java_HOME="/mnt/d/Program Files/Java/jdk-11.0.1"
export PATH="/mnt/d/Program Files/Java/jdk-11.0.1/bin:$PATH"

CMD入力/出力:

C:\Users\jaall>javac --version
javac 11.0.1

BASH入出力:

myubuntu_name@DESKTOP-LUK3BII:~$ javac --version

Command 'javac' not found, but can be installed with:

Sudo apt install default-jdk
Sudo apt install openjdk-11-jdk-headless
Sudo apt install ecj
Sudo apt install openjdk-8-jdk-headless

私はしばらくこれにこだわっていて、それを理解したり、オンラインで有効な解決策を見つけることができません。ありがとう!

10
Jawsh

Biswapriyoが示唆したように、WSLENVを使用する必要があります。

  1. PowerShellを開きます。次に、Java_HOMEをJavaインストールへのパスに設定します。

  2. あなたの場合、setx Java_HOME "D:\Program Files\Java\jdk-11.0.1"を実行してください

「成功:指定された値が保存されました」というメッセージが表示されます。

  1. 次にsetx WSLENV "Java_HOME/p"を実行します

成功メッセージが再び表示されます。

  1. WSL bashプロンプトに「env」と入力します。

この時点で、Java_HOMEが正しく設定されているはずです。

注:ステップ2が機能しない場合は、Java_HOMEへのパスを変更して「\ bin」フォルダーを含めることができます。

1