web-dev-qa-db-ja.com

javacがUbuntu端末で機能しない

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プログラムをコンパイルするにはどうすればよいですか?

21
Prasanna

@Blorgbeardで述べたように、Java JDK(Java Development Kit))がインストールされていない可能性があります。さまざまなバージョンの詳細については、 このWebページ を参照してください= Java Ubuntuで利用できます。

次のコマンドは、Java JDKのOpenJDKバージョンをインストールします。

apt-get install default-jdk
33
HeatfanJohn

私は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!
4
user2862244

私も同じ問題を抱えていました。次のコマンドを使用しました

Sudo apt-get install openjdk-7-jdk

その後にコンパイルされたアプリ。上記のソリューションとの違いはわかりません。バージョンを指定する必要がなかったのかもしれません。

3
GlenM

私の場合、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
2
rotarydial

実際、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を実行できない にあります。

1
arnav

ターミナルにコピーして貼り付けるだけ

Sudo apt install openjdk-8-jdk-headless

0