javac:コマンドが見つかりません


111

次のコマンドを使用して、CentOSリリース5.5マシンにjavaをインストールしましたyum install java。しかし、javacを使用してクラスをコンパイルすることはできません。

他のパッケージをインストールする必要がありますか?

javac実行可能ファイルを見つけようとしましたが、見つけることができません。

/usr/bin/java次のようにリンクされています:
/usr/bin/java-> /etc/alternatives/java
/etc/alternatives/java->/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

私は次の出力を見ましたyum list installed |grep java

java-1.6.0-openjdk.x86_64              1:1.6.0.0-1.16.b17.el5          installed
tzdata-java.x86_64                     2011b-1.el5                     installed

3
あなたのソリューションは次のように使用するyumようですinstall java-1.6.0-openjdk-devel.x86_64
Vihung

回答:


125

含まないjavac Javaランタイム環境(JRE)のみをインストールしました。の場合javacOpenJDK開発環境をインストールする必要があります。java-develまたはをインストールできjava-1.6.0-openjdk-develますjavac。どちらにもが含まれています。

ちなみに、あなたはどのパッケージjavacyum検索を提供するかを見つけることができます、例えば

su -c 'yum provides javac'

CentOS eg 6の最近のリリースでは、コマンドは次のように変更されます。

su -c 'yum provides */javac'

別のノート:使用yumしてopenjdkJDKをインストールするための唯一の可能性です。多くの人々は、Sun / Oracleの「オリジナル」SDKを好みます。CentOSにJava SDKをインストールする方法を参照してください代替案へのリンク。


はい私は確信しています。ただ見てのjava-1.6.0-openjdk.x86_64パッケージ情報(「ファイル」セクションにスクロール)と何があることが見ていないjavacそのパッケージに。次に、OpenJDK開発環境パッケージを確認します
斧。

11
あなたの助けに感謝します。私は「yum install java-1.6.0-openjdk-devel.x86_64」を使用しました
Bikash Barman

6
Fedora 20 yum provides javacでは「一致するものが見つかりませんでした」と出力します。
Perseids 2014年

1
しかし、彼は 'openjdk'をインストールしましたよね?JDKはJava開発キットを意味します
かみそり

177

このコマンドで私のために働きました:

yum install java-devel

2
しかし、これにより古いJDK 6がインストールされます。なぜJDK 8がインストールされないのですか?「yum install java」はJRE 8をインストールします
jamshid

「yum list」の出力をgrepして、必要なJavaのバージョンを見つけ、「yum install <package>」を実行できます。私にとっては、「yum install java-1.7.0-openjdk-devel.x86_64」
Tom Barron

12
java8の使用sudo yum install java-1.8.0-openjdk-devel
raghavsood33

1
これが答えになるはずです。
nikk '19年

他のJavaのインストールdintは、javacがこれに遭遇するまで2時間を無駄にしました
vivek ashodha

28

次のsudoコマンドを使用します。

sudo yum install java-1.6.0-openjdk-devel

2

yum install java実際に何がインストールされるのか正確にはわかりません。しかし、javacの存在を確認するには、次のようにします。

> updatedb
> locate javac

できればルートとして。そこにない場合は、Javaランタイム(JRE)のみをインストールし、Java Development Kit(JDK)はインストールしていない可能性があります。これをOracleサイトから取得するのが最善です。Linuxリポジトリは最新バージョンで少し遅れている可能性があり、また、Oracle / Sunのものとは対照的に、open-jdkのみを提供しているようです。 。


1

javac実行可能ファイルは、PATHの一部であるディレクトリにありますか?

Windowsパスに相当するCentOSは知りませんが、java sdkディレクトリにcdして./javacを実行すると、何か起こりますか?


私の問題は、javac実行可能ファイルがデフォルトで存在する場所です
Bikash Barman

CentosにLocateコマンドはありませんか?
@Richardが

申し訳ありませんが、BenCr、誤字(javajc => javac)を修正しましたが、システムでは6文字以上しか修正できないため、さらに変更を加えました。Unixタイプのシステム(CentOSは何らかのUnixですか?)では、現在のディレクトリで何かを開始するには、。/を指定する必要があります。編集が承認された場合は、自由に再編集してください。
ユーザー不明

間違った答えを受け入れましたか?もしそうなら、読者を混乱させないように正しいものに変更してください。
斧。

0

Javaランタイム環境(JRE)をインストールしましたが、javacが含まれていません。

端末でrootユーザーにアクセスしsudo -i、パスワードを入力します。タイプyum install java-devel、それゆえそれはfedoraにjavacのパッケージをインストールします。


0

と同じバージョンjavacをインストールしますJRE

yum install java-devel

0

私はFedoraを使用しています(現在31)

JDKがインストールされている場合でも、特に.bashrcでJAVAC_HOMEを指定する必要があります。特に、sudoの代替を使用する4つのJavaバージョンがあるため、それらを切り替えるためにjavaを構成します。

代替で選択されたJavaのJavaロケーションを検索するには

readlink -f $(java)

私の場合:/usr/java/jdk1.8.0_241-amd64/jre/bin/java

だから私は.bashrcで次のように設定しました:

export JAVA_HOME = / usr / java / jdk1.8.0_241-amd64 / jre / bin / java

エクスポートJAVAC_HOME = / usr / java / jdk1.8.0_241-amd64 / bin / javac

エクスポートPATH = $ PATH:/usr/java/jdk1.8.0_241-amd64/jre/bin

エクスポートPATH = $ PATH:/usr/java/jdk1.8.0_241-amd64/bin/

javac –versionはjavac 1.8.0_241を提供します

これは、Oracleのバージョンを使用したい場合に便利です。Javaの代替で変更を行う場合は、.bashrcを再度変更することを忘れないでください。


0

Linux Mint 19.3

次のように、Java Oracleを手動でインストールしました。

$ sudo ln -s /usr/lib/jvm/java-1.8.0_211/bin/javac /usr/bin/javac


-2

最初にJDK / JREをインストールしてください。

次の手順を実行します:

ターミナルを開き、次のように入力してルート辞書に移動します

cd /

Libraryフォルダが表示されます

今この道をたどる Library/Java/JVM/bin

あなたが入るbinと、javacファイルを見ることができます

次に、このコマンドを書くだけで、このフォルダのパスを取得する必要があります

pwd

のパスを取得しますjavac


1
OP名のオペレーティングシステムはCentOSです。
Newb 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.