Javaプログラムをjavac
でコンパイルしようとすると、エラーが発生します。
The program 'javac' can be found in the following packages:
* default-jdk
* ecj
* gcj-4.6-jdk
* gcj-4.7-jdk
* openjdk-7-jdk
* openjdk-6-jdk
Try: Sudo apt-get install <selected package
Java -versionを試してみると、
Java version "1.7.0_21"
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-1ubuntu1)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
私が試してみるとJava私は/usr/bin/Java
コマンドラインからJavaプログラムをコンパイルするにはどうすればよいですか?
@Blorgbeardで述べたように、Java JDK(Java Development Kit))がインストールされていない可能性があります。さまざまなバージョンの詳細については、 このWebページ を参照してください= Java Ubuntuで利用できます。
次のコマンドは、Java JDKのOpenJDKバージョンをインストールします。
apt-get install default-jdk
私はUbuntu 12.10を使用しており、Java "1.6.0_27"を使用しています。このコマンドにより、javacが使用可能になります。
Sudo apt-get install default-jdk
次に、次のようにコンパイルします。
el@apollo:~/retreat3$ javac HelloWorld.Java
el@apollo:~/retreat3$ Java HelloWorld
Hello, World!
私も同じ問題を抱えていました。次のコマンドを使用しました
Sudo apt-get install openjdk-7-jdk
その後にコンパイルされたアプリ。上記のソリューションとの違いはわかりません。バージョンを指定する必要がなかったのかもしれません。
私の場合、JDKをインストールしましたが、手動でインストールしたため、パスに追加されませんでした。これらの行を.zshrcファイルに追加し(私はzshを使用しています。bashを使用している場合は.bash_profileに追加して)、ターミナルを再起動すると、正常に機能しました。
# Java environment variables
export Java_HOME='/opt/jdk/jdk1.8.0_241' #change accordingly; this needs to match your JDK's location!
export PATH=$PATH:$Java_HOME/bin
実際、Javaコマンドはubuntu 16.04では機能しましたが、javacでは機能しませんでした。最初に、私は環境パスをいじっていました。すべてのJavaパッケージがインストールされていると思っていたので、環境パス変数の設定に問題がありました。
次に、パスを返すupdate-alternatives --list Java
コマンドを試しましたが、update-alternatives --list javac
は返しませんでした。これにより、javacをインストールする必要があるため、Sudo apt-get install default-jdk
を実行したことを説明しました
ただし、update-alternatives --list javac
を実行するときにパスを取得する場合は、$ Java_PATHを設定するか、シンボリックリンクを作成することをお勧めします。そのヘルプは、ページ buntuでjavacを実行できない にあります。
ターミナルにコピーして貼り付けるだけ
Sudo apt install openjdk-8-jdk-headless