2011-01-02 8 views
5

私の新しいUbuntuシステムにJava(JDK 6)をインストールしようとしていて、いくつかのエラーが発生しました。これは初めてののLinuxのフレーバーであるを初めて使用したので、ユーザーの問題(アクセス権など)があると確信しています。UbuntuでのJavaインストールの問題

Oracleのサイト(Java SE 6u23 for 64-bit Linux)から直接BINファイルをダウンロードしました。これはデフォルトでは/ home/myUserName/Downloadsにダウンロードされます。

そこから私は作成したディレクトリである/ opt/javaにファイルを移動しました。なぜなら、(Linux初心者のように)Javaが行かなければならないディレクトリだからです。私は、次の2つのコマンドを実行した

は、命令ごとに私はビンを実行するためにオンラインで見つける:今

chmod +x jdk-6u23-linux-x64.bin 
sudo ./jdk-6u23-linux-x64.bin 

、私は/ opt/javaディレクトリに私はBINファイルとjdk1.6.0_23の両方を参照してくださいディレクトリにあります。

しかし私は新しいターミナルを開き、のjava -versionを実行したときに、私が取得:

プログラムのJava」は以下のパッケージに記載されています:
- GCJ-4.4-JRE -headless
- GCJ-4.5-JRE-ヘッドレス
- OpenJDKの-6-JRE-ヘッドレス
てみます。sudoここで何が起こっているか

をインストールするのapt-getを?!?

(1)私のJavaディレクトリを/ opt/javaにしようと間違っていましたか?
(2)間違ったコマンドを実行しましたか?
(3)Java 1.6.0_23は自分のマシンにインストールされていますか?
(4)これらのgcj-xxx-headlessターゲットは何ですか?

ありがとうございました!

答えて

6

なぜあなたができるビンを、ダウンロードするだけで:

sudo apt-get install sun-java6-jdk 

サイトから特定バージョンは、あなたがapt-getそれがするので、を使用する必要があることをしたいと思う理由は、特別な理由がない場合にはPATH変数などのすべてのものを世話してください。

+0

「通常の」ユーザーの場合Javaの開発者は、Java 6のアップデート20,23などのように、ソフトウェアをテストするための非常に特殊なバージョンが必要な場合があります。 –

+2

@arjan:Java開発者として、私は大文字数。しかし、私は主にwebappsを開発し、常に最低限の共通言語機能を使用していると言えます。 –

+0

通常、自分の会社用に開発するWebアプリケーションでは、ターゲットサーバーには非常に特定のJavaバージョンが含まれています。 JDKのバージョン間のマイナーな変更から愚かなバグを除外するには、私たちの開発ステーションでは通常、私たちのサーバーとまったく同じバージョンを使用します。もちろん、私たちはサーバのJavaバージョンを頻繁に更新しているので、古いバージョンのJavaでこの規約が守られているわけではありません。 –

1

単にディレクトリにJDKバイナリを置いているだけです。通常は/ opt/javaまたは/ opt/jdkが頻繁に使用されますが、これらはシステムによって自動的に認識されるディレクトリではありません。

ただし、/ opt/java/binディレクトリ、またはsymlink(ln -s)/ opt/java/bin/javaをシステムにインストールされているディレクトリの1つに含めるようにPATH環境変数を更新できますあなたのパスは/ usr/bin/

+0

私は皆さんの意見を高く評価します - 私は納屋の周りに3辺を行かなければならない場合でも、私は物事の仕組みを知りたいので、apt-getを使用しないようにしようとしています。私がその/ opt/javaの** jdk1.6.0_23 **ディレクトリに残っているtarballを解凍しています。今、私は手動で.bashrcを開き、** PATH =/opt/java/jdk1.6.0_23/bin **を最後の行に追加することによって、PATH変数を手動で設定しようとしています。その結果、* java -version *が正しく出力されますが、ls、cd、dir、clearなどのすべての端末ツールが失われます。エラー状態usr/binはPATHにありません。何ですか? – Zac

+0

これは本当に基本的なUnixの質問です(Windowsでの動作とはまったく変わりません)。しかし、あなたはあなたの古いパスを含める必要があります:path = new path + old path。必要に応じて新しい質問を開くことをお勧めします。 –

7

私は/ opt/java Javaディレクトリを作成しようと間違っていましたか?

多くのJava開発者は複数のJDKをインストールし、常に/opt/jdk1.6.0_23またはそれに類するパスを使用します。ダウンロードしたファイルbinは、のインストーラではなく、単にエクストラクタです。 javaバイナリを/binのようなシステムフォルダにインストールしません。

私は通常、JDKをダウンロードしてホームフォルダ内から実行した後、/ optに移動してchownを実行します。

私は間違ったコマンドを実行しましたか?

別のJDKをインストールしたい場合は、正しく実行しました。システムインテグレーションが必要な場合は、aptitude install sun-java6-jdkなどを介してインストールされたパッケージなど、配布固有のパッケージを使用する方がよいでしょう。

あなたがダウンロードしたbinは、同じシステム上に複数のバージョンのJavaをインストールするために使用できるので、より柔軟です。私はこれがあなたがLinuxマシンでしばしばしないことであることを知っています。

コマンドラインでjavaバイナリを使用する場合は、PATHJAVA_HOMEの環境変数を手動で設定する必要があります。私は/ etc/environmentや/ etc/profileなどのUbuntuについて考えています。

Java 1.6.0_23は自分のマシンにインストールされていますか?

上記の回答を参照してください。

gcj-xxx-headlessターゲットとは何ですか?

GCJはJava用Gnuコンパイラです。明らかに、Java Development KitとJava Runtime Environmentが含まれています。

+1

優れた答えですが、小さなコメント:ビンファイルは実際には実際にいくつかのものを生成するので、実際にはちょうど抽出より少し多くを行います。 –

1

Sun/OracleからインストールしたJDKは、元のJDKです。 「ヘッドレス」JDKは、オープンソースの代替手段です。 JDK BINファイルを実行すると、単にアーカイブが抽出されます。 java -versionコマンドを入力すると、/ optに抽出したJavaではなく、FOSS Javaが見つかりました。誰かが言及したように、開発者はJDKの複数のバージョンを保持しています。 OracleのJavaを使用する場合は、/ usr/bin/javaから/opt/jdk1.6.0_23/bin/javaへのリンクが必要です。

sudo ln -s /usr/bin/java /opt/jdk1.6.0_23/bin/java 

これを実行するには、既存のjavaコマンドを最初に「ヘッドレス」JDKからデリンクする必要があります。 (前のコマンドの前に以下を実行してください)

sudo mv /usr/bin/java /usr/bin/java_old 

これは、/ usr/binにjavaというリンクまたは実行可能ファイルが存在することを前提としています。 whichコマンドを使用して確認してください。

which java 
0

既存のPATH変数に新しいパス名を追加するには、ターミナルでこれを入力する必要があります。

PATH=`echo $path`:/your/new/path 
export PATH

、あなたのオリジナルのPATH変数を失った場合、あなたはこれを入力することによって復元できます。

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 
export PATH
0

試してみてください。

rm -rf /usr/bin/javac 
rm -rf /usr/bin/jar 

ln -s /home/jdk1.6.0_13/bin/javac /usr/bin/javac 
ln -s /home/jdk1.6.0_13/bin/jar /usr/bin/jar 

ダウンロード最新のJava SE SDKのバージョン:この方法で、あなたのLinuxは、OracleのJavaをインストールする手順の下に従ってください/usr/bin

+0

[link](http://fengbin2005.iteye.com/blog/1222849)http://fengbin2005.iteye.com/blog/1222849 – kkmike999

1

でJava & &のjavacを見つけることができます。アーカイブを解凍します

http://www.oracle.com/technetwork/java/javase/downloads/index.html

tar -xzvf jdk-8-linux-x64.tar.gz 
mv jdk1.8.0 /opt 
cd /opt/jdk1.8.0 

このステップは、代替としてのJavaのダウンロード版を登録し、デフォルトとして使用するためにそれを切り替え:

update-alternatives --install /usr/bin/java java /opt/jdk1.8.0/bin/java 1 
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0/bin/javac 1 
update-alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /opt/jdk1.8.0/jre/lib/amd64/libnpjp2.so 1 
update-alternatives --set java /opt/jdk1.8.0/bin/java 
update-alternatives --set javac /opt/jdk1.8.0/bin/javac 
update-alternatives --set mozilla-javaplugin.so /opt/jdk1.8.0/jre/lib/amd64/libnpjp2.so 

試験

あなたが今http://www.java.com/にブラウザプラグインのブラウズをチェックして、クリックし

java -version 

出力

java version "1.8.0" 
Java(TM) SE Runtime Environment (build 1.8.0-b132) 
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode) 

を実行している「私は、Javaを持っていますか?」

のJavaのバージョンを確認するには

参照:https://askubuntu.com/questions/437776/ubuntu-13-04-unable-to-install-jdk7

関連する問題