#navi(../)
* Javaの開発環境をUbuntuにインストールする方法 [#u9febc36]
本記事は、CentOSにaptコマンドを使用してJavaの開発環境(JDK)をインストールする方法を記します。
使用したOSのバージョンは、Ubuntu12.04になります。

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連記事 [#d4cc41fc]
- [[複数バージョンがインストールされているプログラムの切り替え・update-alternatives>逆引きUNIXコマンド/複数バージョンがインストールされているプログラムの切り替え]]
- [[Javaの開発環境をCentOSにインストールする方法>ソフトウェア/Javaの開発環境をCentOSにインストールする方法]]

* UbuntuにJDKをインストールする [#rf3721c4]
Ubuntu12.04にJDKをインストールする前にjavaソースをコンパイルするjavacコマンドを端末で実行してみると以下のメッセージが表示されます。
 sakura@ubuntu1204:~$ javac
 プログラム 'javac' は以下のパッケージで見つかりました:
  * default-jdk
  * ecj
  * gcj-4.6-jdk
  * openjdk-6-jdk
  * gcj-4.5-jdk
  * openjdk-7-jdk
 次の操作を試してください: sudo apt-get install <選択したパッケージ>
 sakura@ubuntu1204:~$ 

上記のメッセージで確認できるように、openjdk-6-jdkとopenjdk-7-jdkをインストールすることができます。~
本資料ではopenjdk-7-jdkをインストールしてみます。~
また、openjdk-6-jdkとopenjdk-7-jdkの両方をインストールした場合の対処も記述してあります。

** apt-cacheコマンドでopenjdkを探してみる [#u070bf9f]
上記のメッセージで既にパッケージ名は確認できていますが、apt-cacheコマンドでも試してみた結果です。~
ドキュメントやデモなどのパッケージも存在することが確認できます。
 sakura@ubuntu1204:~$ apt-cache search openjdk
 icedtea-6-jre-cacao - Alternative JVM for OpenJDK, using Cacao
 icedtea-6-jre-jamvm - Alternative JVM for OpenJDK, using JamVM
 icedtea-6-plugin - web browser plugin based on OpenJDK and IcedTea to execute Java applets
 libreoffice - office productivity suite
 default-jdk - Standard Java or Java compatible Development Kit
 default-jre - Standard Java or Java compatible Runtime
 default-jre-headless - Standard Java or Java compatible Runtime (headless)
 default-jdk-doc - 標準的な Java または Java 互換の開発キット (ドキュメンテーション)
 openjdk-6-dbg - OpenJDK ベースの Java ランタイム (デバッグシンボル)
 openjdk-6-demo - OpenJDK ベースの Java ランタイム (デモおよびサンプルファイル)
 openjdk-6-doc - OpenJDK Development Kit (JDK) documentation
 openjdk-6-jdk - OpenJDK Development Kit (JDK)
 openjdk-6-jre - OpenJDK Java ランタイム - Hotspot JIT 版
 openjdk-6-jre-headless - OpenJDK Java ランタイム - Hotspot JIT 版 (ヘッドレス)
 openjdk-6-jre-lib - OpenJDK Java ランタイム (アーキテクチャ非依存ライブラリ群)
 openjdk-6-source - OpenJDK Development Kit (JDK) source files
 freemind - Java Program for creating and viewing Mindmaps
 icedtea-7-jre-jamvm - Alternative JVM for OpenJDK, using JamVM
 icedtea-7-plugin - web browser plugin based on OpenJDK and IcedTea to execute Java applets
 jtreg - Regression Test Harness for the OpenJDK platform
 openjdk-7-dbg - Java runtime based on OpenJDK (debugging symbols)
 openjdk-7-demo - Java runtime based on OpenJDK (demos and examples)
 openjdk-7-doc - OpenJDK Development Kit (JDK) documentation
 openjdk-7-jdk - OpenJDK Development Kit (JDK)
 openjdk-7-jre - OpenJDK Java runtime, using Hotspot JIT
 openjdk-7-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
 openjdk-7-jre-lib - OpenJDK Java runtime (architecture independent libraries)
 openjdk-7-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark
 openjdk-7-source - OpenJDK Development Kit (JDK) source files
 uwsgi-app-integration-plugins - plugins for integration of uWSGI and application
 uwsgi-plugin-jvm-openjdk-6 - Java plugin for uWSGI (OpenJDK 6)
 uwsgi-plugin-jwsgi-openjdk-6 - JWSGI plugin for uWSGI (OpenJDK 6)
 openjdk-6-jre-zero - Zero/Shark を用いた OpenJDK 用の代替 JVM
 icedtea-7-jre-cacao - Transitional package for obsolete Cacao JVM for OpenJDK
 sakura@ubuntu1204:~$ 

** openjdk-7-jdkのインストール [#re0e3f37]
本記事では端末を起動しapt-getコマンドでopenjdk-7-jdkをインストールしました。~
GUI操作の場合は、Ubuntuソフトウェアセンターを起動し検索窓に''openjdk-7-jdk''と入力すれば表示されます。~
以下は端末からopenjdk-7-jdkをインストールするときのコマンドです。
 sudo apt-get install openjdk-7-jdk
以下は上記コマンドを実行したときの出力です。~
Yボタンを押してEnterキーを押せばopenjdk-7-jdkに必要なパッケージも含めてインストールされます。~
エラーが出た場合は、メッセージに従ってください。(sudo apt-get updateなどが指示されます。)
 sakura@ubuntu1204:~$ sudo apt-get install openjdk-7-jdk
 [sudo] password for sakura: 
 パッケージリストを読み込んでいます... 完了
 依存関係ツリーを作成しています                
 状態情報を読み取っています... 完了
 以下の特別パッケージがインストールされます:
   ca-certificates-java icedtea-7-jre-jamvm java-common libatk-wrapper-java libatk-wrapper-java-jni libgif4 libice-dev libpthread-stubs0
   libpthread-stubs0-dev libsm-dev libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxt-dev openjdk-7-jre openjdk-7-jre-headless
   openjdk-7-jre-lib ttf-dejavu-extra tzdata-java x11proto-core-dev x11proto-input-dev x11proto-kb-dev xorg-sgml-doctools xtrans-dev
 提案パッケージ:
   default-jre equivs libxcb-doc openjdk-7-demo openjdk-7-source visualvm icedtea-7-plugin sun-java6-fonts ttf-telugu-fonts ttf-oriya-fonts
   ttf-kannada-fonts ttf-bengali-fonts
 以下のパッケージが新たにインストールされます:
   ca-certificates-java icedtea-7-jre-jamvm java-common libatk-wrapper-java libatk-wrapper-java-jni libgif4 libice-dev libpthread-stubs0
   libpthread-stubs0-dev libsm-dev libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxt-dev openjdk-7-jdk openjdk-7-jre
   openjdk-7-jre-headless openjdk-7-jre-lib ttf-dejavu-extra tzdata-java x11proto-core-dev x11proto-input-dev x11proto-kb-dev
   xorg-sgml-doctools xtrans-dev
 アップグレード: 0 個、新規インストール: 27 個、削除: 0 個、保留: 0 個。
 69.1 MB のアーカイブを取得する必要があります。
 この操作後に追加で 109 MB のディスク容量が消費されます。
 続行しますか [Y/n]? 

* JDKインストール後の確認 [#v76e9a98]
JDK(javac)がインストールされているか端末上で確認してみました。
 sakura@ubuntu1204:~$ javac -version
 javac 1.7.0_15

* 複数バージョンのJDKをインストールしてしまった場合の対処 [#za41ccc1]
本記事を作成した時点ではopenjdk-6-jdkとopenjdk-7-jdkが提供されています。(提供されていました。)~
上記インスール手順でopenjdk-7-jdkをインストール後、openjdk-6-jdkをさらにインストールした場合の対処方法を以下に記します。~

+ 既にopenjdk-7-jdkインストール済みのUbuntu12.04環境にapt-getコマンドでopenjdk-6-jdkをインストールしjavacのバージョンを確認してみます。
 sakura@ubuntu1204:~$ sudo apt-get install openjdk-6-jdk
 
 <省略>
+ javacのバージョンが1.6になっています。
 sakura@ubuntu1204:~$ javac -version
 javac 1.6.0_27
+ update-alternativesコマンドによりインストールされているjdkを切り換えることができます。~
update-alternativesの記事: [[複数バージョンがインストールされているプログラムの切り替え・update-alternatives>逆引きUNIXコマンド/複数バージョンがインストールされているプログラムの切り替え]]
#br
+ update-alternatives --config javac コマンドを実行します。~
以下の出力の通り、自動モードでは、java-6-openjdk になっているのが確認できます。
 sakura@ubuntu1204:~$ update-alternatives --config javac
 alternative javac (/usr/bin/javac を提供) には 2 個の選択肢があります。
 
   選択肢    パス                                      優先度  状態
 ------------------------------------------------------------
 * 0            /usr/lib/jvm/java-6-openjdk-i386/bin/javac   1061      自動モード
   1            /usr/lib/jvm/java-6-openjdk-i386/bin/javac   1061      手動モード
   2            /usr/lib/jvm/java-7-openjdk-i386/bin/javac   1051      手動モード
 
 現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 
#br
+ 上記の出力の通り、java-7-openjdkに変更したい場合は2を押してEnterキーを押せば使用するJDKのバージョンを切り換えることが簡単にできます。~
尚、上記の操作ではsudoを使わなかったため、2を押しても以下のようにエラーが発生します。~
 <省略>
 現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 2
 update-alternatives: /usr/bin/javac (javac) を提供するために 手動モード で /usr/lib/jvm/java-7-openjdk-i386/bin/javac を使います。
 update-alternatives: エラー: シンボリックリンク `/etc/alternatives/javac.dpkg-tmp' の作成中にエラーが発生しました: 許可がありません
よって、以下のようにsudoをつけて再度update-alternativesコマンドを実行してください。
 sudo update-alternatives --config javac
+ 以下、sudoをつけてsudo update-alternatives --config javacコマンドを実行した時の結果です。~
 sakura@ubuntu1204:~$ sudo update-alternatives --config javac
 alternative javac (/usr/bin/javac を提供) には 2 個の選択肢があります。
 java-7-openjdkに変更しjavacのバージョンを確認しています。
   選択肢    パス                                      優先度  状態
 ------------------------------------------------------------
 * 0            /usr/lib/jvm/java-6-openjdk-i386/bin/javac   1061      自動モード
   1            /usr/lib/jvm/java-6-openjdk-i386/bin/javac   1061      手動モード
   2            /usr/lib/jvm/java-7-openjdk-i386/bin/javac   1051      手動モード
 
 現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 2
 update-alternatives: /usr/bin/javac (javac) を提供するために 手動モード で /usr/lib/jvm/java-7-openjdk-i386/bin/javac を使います。
 sakura@ubuntu1204:~$ javac -version
 javac 1.7.0_15

以上、UbuntuにJDKをインストールする方法でした。

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS