作成者別アーカイブ: 赤び〜

JDK 切り替え後の Eclipse 設定変更 (CentOS 5.5 64bit)

前回の「JDK 1.6.x のインストール (CentOS 5.5 64bit) 」で、これまで使用していた Java を OpenJDK から Sun JDK に切り替えました。

赤び~環境において、これにより影響を受けそうなアプリケーションは
  ・Eclipse
  ・Tomcat
  ・Glassfish
といったところでしたので、動作確認を行いました。

結論から言うと、Tomcat と Glassfish は問題なしで Eclipse のみ設定変更が必要でした。
今回は Eclipse に必要となる設定変更をまとめてみます。

1. インストール済みの JRE

Eclipse 自体の起動はパスに定義された java により問題なく行われます。
変更が必要となるのは Eclipse 上で作成したプロジェクトが使用する JRE (JDK) のパスです。

「ウィンドウ」-「設定」メニューから設定画面を表示し、「Java」-「インストール済みの JRE」メニューを選択します。

20100717_01

「インストール済みの JRE」が OpenJDK のみとなっていますので、Sun JDK を追加設定する必要があります。
「追加」ボタンを選択し、JRE の追加画面を表示します。

20100717_02

「標準VM」を指定して「次へ」ボタンを選択すると、JRE の追加画面に遷移します。

20100717_03

「JREホーム」に「/usr/java/default」を指定してください。自動的に「JRE 名」が「jdk_1.6.0_21」と設定されます。
問題なければそのまま「完了」ボタンを選択してください。インストール済みの JRE 画面に遷移します。

「インストール済みの JRE」が「java-1.6.0-openjdk ・・・」と「jdk_1.6.0_21」の二行に増えていますが、「java-1.6.0-openjdk ・・・」はすでにパッケージを削除済みですので Eclipse からも削除します。
「java-1.6.0-openjdk ・・・」を選択して「除去」ボタンを選択してください。

20100717_04

以上で Eclipse 本体の設定は完了です。

2. 作成済みプロジェクトの設定変更

次に、作成済みのプロジェクトについても設定変更を行う必要があります。

エラーとなっているプロジェクトを選択し、右クリックメニューから「プロパティ」を選択してください。「Java のビルド・パス」メニューを選択すると画面上部に「ビルド・パス・エントリーが欠落しています:・・・」と表示されています。

20100717_05

「ライブラリー」タブを選択すると「JRE システム・ライブラリー」がエラーとなっていますので、選択後「編集」ボタンを選択してください。ライブラリーの編集画面に遷移します。

20100717_06

「ワークスペースのデフォルト JRE」を指定し「完了」ボタンを選択すると、再ビルドが行われてプロジェクトのエラーが解消されます。

この作業を全てのプロジェクトで実施後、念のためプロジェクトのクリーンを行って設定変更作業は完了します。

[ END ]

JDK 1.6.x のインストール (CentOS 5.5 64bit)

2013/4/26 追記
最新バージョンについては以下を参照してください。
@see 「Java SE 7 のインストール (CentOS 6.3 64bit)

試用感覚で2ヶ月間ほど OpenJDK を使いつづけてみましたが、特にこれといった問題には直面しませんでした。(「Eclipse インストールと日本語化 (CentOS 5.4 64bit) 編 」参照)
このまま使いつづけても良さそうですが、気づけば Sun が提供する JDK はバージョンが 1.6.0_21 まで進んでいました。Sun 製 JDK にバグが多いのか、それとも OpenJDK のパッチ速度が遅いのか判断に迷うところですが、そろそろ使い慣れた(?) JDK に復帰することとしました。

1. JDK のダウンロード

Sun (今は買収されて Oracle ですが。。。) のダウンロードページ Sun Developer Network (SDN) から最新の JDK をダウンロードします。
実行形式 (bin) 版と RPM 版がありますが、今回は RPM 版にしました。
本日時点の 64bit Linux 版の最新版は jdk-6u21-linux-x64-rpm.bin でした。

2. JDK のインストールとパスの設定

2.1. JDK のインストール

RPM 版についても実行形式版で提供されていますので、ダウンロードしたファイルを実行するだけでインストールは完了します。

# chmod a+x jdk-6u21-linux-x64-rpm.bin
# ./jdk-6u21-linux-x64-rpm.bin

インストール先は /usr/java 配下となります。

2.2. JDK へのパスを設定

/etc/profile にインストールした JDK へのパス定義を追加します。

/etc/profile への追記内容

# JDK
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin

/usr/java/default は 最後にインストールされた JDK へのリンクとなっています。(正確には /usr/java/latest へのリンクで、latest が JDK 本体へのリンクとなっています)

JAVA_HOME を /usr/java/default としているのは、将来、最新の JDK をインストールした場合でもパス設定を変更不要とするためです。

2.3. /etc/profile の有効化

変更した /etc/profile を有効化します。

$ source /etc/profile

3. OpenJDK のアンインストール

OpenJDK がインストールされたままだと /usr/bin 配下に javac や javadoc など多数のファイル (リンク) が存在しています。
前項でパス定義を追加してもこのままでは OpenJDK が読み込まれてしまうため、OpenJDK のアンインストールをおこないます。

3.1. インストール済み OpenJDK のパッケージ確認

yum コマンドでアンインストールするため、OpenJDK のパッケージ名を確認します。

# rpm -qa | grep java
sun-javadb-core-10.5.3-0.2
java-1.6.0-openjdk-devel-1.6.0.0-1.11.b16.el5
sun-javadb-demo-10.5.3-0.2
java-1.6.0-openjdk-1.6.0.0-1.11.b16.el5
sun-javadb-common-10.5.3-0.2
sun-javadb-docs-10.5.3-0.2
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
sun-javadb-javadoc-10.5.3-0.2
tzdata-java-2010i-1.el5
sun-javadb-client-10.5.3-0.2

java-1.6.0-openjdk-devel、java-1.6.0-openjdk、java-1.4.2-gcj-compat が不要となりそうです。

3.2. OpenJDK パッケージのアンインストール

yum コマンドで洗い出したパッケージを削除します。

# yum remove java-1.6.0-openjdk-devel

これで java-1.6.0-openjdk-devel パッケージの削除は完了です。

同様に java-1.6.0-openjdk と java-1.4.2-gcj-compat も削除するつもりでしたが、OpenOffice 他多数のパッケージと関連していたため削除はいったん見送りました。

3.3. /usr/bin 配下のリンク先変更

8/1 追記
alternatives コマンドでリンク先を切り替えた方がスマートに実現できるため、別途以下の記事を参照してください。
@see 「alternatives コマンドを使用した java バージョンの切り替え

java-1.6.0-openjdk と java-1.4.2-gcj-compat を残したため、/usr/bin 配下のリンク先を変更します。

まずは現在のリンク状況を確認します。

# cd /usr/bin
# ls -l java*
lrwxrwxrwx 1 root root 22 4月 18 18:11 java -> /etc/alternatives/java
lrwxrwxrwx 1 root root 28 7月 17 20:29 javaws -> /usr/java/default/bin/javaws

/usr/bin/java のみ変更すれば問題なさそうです。

# rm java
# ln -s /usr/java/default/bin/java java

変更後のリンク先を確認します。

# ls -l java*
lrwxrwxrwx 1 root root 26 7月 17 20:39 java -> /usr/java/default/bin/java
lrwxrwxrwx 1 root root 28 7月 17 20:29 javaws -> /usr/java/default/bin/javaws

4. 動作確認

version オプションを使用して Sun JDK が動作していることを確認します。

$ java -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b16, mixed mode)

$ javac -version
javac 1.6.0_21

java、javac コマンド共に Sun JDK が動作していることが確認できました。

[ END ]

Eclipse Subversiveプラグインの使い方 編

Eclipse Subversiveプラグイン (CentOS 5.5 64bit) 編」に引き続き、Subversive の簡単な使いかたをまとめてみたいと思います。

1. 事前準備 sampleリポジトリの作成

svn グループに属するユーザで、sampleリポジトリを作成します。
詳細は「Subversionの使い方」を参照してください。

$ cd /var/svn/repos
$ mkdir sample
$ svnadmin create /var/svn/repos/sample
$ chgrp svn sample

trunk、branches、tags ディレクトリを import します。

$ mkdir ~/sample
$ mkdir ~/sample/trunk
$ mkdir ~/sample/branches
$ mkdir ~/sample/tags
$ cd ~/sample
$ svn import svn+ssh://localhost/var/svn/repos/sample/ -m "sample project"

2. リポジトリ設定の登録とチェックアウト

Eclipse の「SVN リポジトリー・エクスプローラー」パースペクティブを開き、「新規」-「リポジトリー・ロケーション」から「新規リポジトリー・ロケーション」画面を開きます。

20100530_01

URL svn+ssh://localhost/var/svn/repos/hello
ラベル sample project
ユーザー SVNサーバのログインユーザID
パスワード SVNサーバのログインパスワード

必要事項を入力し、「完了」ボタンを選択します。
接続設定完了後、「sample project」の「trunk」を選択し、右クリックメニューから「チェックアウト」を選択することで、Eclipse 上に sample プロジェクトが作成されます。(「svn checkout」コマンドに相当)

20100530_02 20100530_03

3. ファイルの追加とコミット

前項で作成したプロジェクト上で必要なプロジェクト設定 (「プロジェクト」-「プロパティー」-「Javaのビルドパス」等) を行った後、リポジトリに追加するソースを作成していきます。
今回の例では、過去のサンプル群を追加しました。

20100530_04

リポジトリに追加するディレクトリ/ファイルを選択し、右クリックメニューから「チーム」-「バージョン管理に追加」を選択すると、「SVN バージョン管理に追加」画面が表示されます。
今回の例では「src」ディレクトリを選択しました。

20100530_05

内容確認後、「OK」ボタンを選択することで該当ファイル群がバージョン管理対象となります。(「svn add」コマンドに相当)

20100530_06

対象ファイルのアイコン右下が「?」から「時計マーク(?)」に変わっています。

続いてリポジトリ管理対象となったファイル群のコミットを行います。
同様に右クリックメニューから「チーム」-「コミット」を選択すると「コミット」画面が表示されます。

20100530_07

コメントを入力後、「OK」ボタン選択でコミットが行われます。(「svn commit」コマンドに相当)

20100530_08

対象ファイルのアイコン右下が「DBマーク(?)」に変わり、リビジョン番号 (右側の数字) が「1」→「2」となっていることでコミット済みであることがわかります。

4. ファイルの変更と差分確認

コミットしたファイルの修正を行い、差分を確認します。
今回は、TestEntity.java に対してフィールド変数の追加とコンストラクタの変更を行いました。

TestEntity.java 変更箇所

     /**
     * Key値。
     */
    private int key;
    /**
     * コンストラクタ。
     * @param value データ
     */
    public TestEntity(String value) {
        this.key = value.hashCode();
        this.value = value;
    }

変更後にファイルの保存を行うと、変更したファイルの左側に「>」が表示されます。

20100530_09

変更したファイルを選択し、右クリックメニューから「比較」-「リポジトリーから最新」を選択すると「差分比較」画面が表示されます。(「svn diff」コマンドに相当)
GUIベースで確認可能なため、コマンドベースに比較して変更箇所がわかりやすいです。

20100530_10

5. チーム同期化 パースペクティブ

リポジトリとプロジェクトで差異のあるファイルをリストアップする場合、「チーム同期化」パースペクティブを使用すると便利です。
プロジェクトを選択し、右クリックメニューから「チーム」-「リポジトリーと同期化」を選択してください。「チーム同期化」パースペクティブが表示されます。

20100530_11

先ほど変更した TestEntity.java に加えて、まだ「SVN バージョン管理に追加」(svn add) を行っていないファイル群もリストアップされます。
この画面からも、差分の確認や個別ファイルごとのコミットに加えてマージ作業も行うことが可能です。

今回は全ファイルをコミットしたいと思います。
プロジェクトを選択し、右クリックメニューから「コミット」を選択します。

20100530_12

「コミット」画面のコンテンツ項目の意味は次の通りです。

  ・「変更」  : 修正を行ったがコミットしていないファイル
  ・「新規」  : バージョン管理に追加していないファイル
  ・「追加済み」: バージョン管理に追加したがコミットしていないファイル

前回と同様、コメントを入力して「OK」ボタン選択で全ファイルのコミットが行われます。

6. コミット内容の確認

「SVN リポジトリー・エクスプローラー」パースペクティブから、現在のリポジトリの状況が確認可能です。
一連の作業で trunk の下にプロジェクト内の全ファイルが登録されたことが確認できます。

20100530_13

[ END ]