■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
                      2009年08月30日

    Java総合講座 - 初心者から達人へのパスポート
                  vol.168

                                セルゲイ・ランダウ
 バックナンバー: http://www.flsi.co.jp/Java_text/
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


[このメールマガジンは、画面を最大化して見てください。]


========================================================
◆ 01.SOAPのアプリケーション(Webサービス)
========================================================


では、今回は(C5)の操作から順番に行っていきます。

前回は、JavaWorks2というワークスペースを使って、Eclipseで編集(MailSender.java
を編集)した内容をCVSリポジトリーにコミットしましたが、今回は、その内容を、
JavaWorksワークスペースを使って起動したEclipseで取り込み(更新)しましょう。

JavaWorks2とJavaWorksは本来なら別々のPCで別々の人によって使用されているもの
です。

(1) LinuxのPCを起動した後、EclipseのPCも起動しましょう。そしてEclipseを起動しま
すが、このときワークスペースとしてはJavaWorksを指定して下さい。
(パースペクティブはJavaパースペクティブにしておきます。)

(2) パッケージ・エクスプローラーにおいて、プロジェクトJStudySOAPを右クリックし、
「チーム」→「リポジトリーと同期化」を選択します。(「チーム」→「更新」でいきなり
更新させる方法もありますが、その前にいったんリポジトリーと同期化して確認しておく
ほうが安全です。)

(3) 「パースペクティブのオープンの確認」ウインドウが開いたら、「はい」ボタンを
クリックします。

(4) ここで開いた「同期化」ビューの中にはJStudySOAPがリストされていますが、この
左側の+マークをどんどんクリックしていって、中を展開していってください。最後に
先ほど編集したMailSender.javaが出てきてその左側には青色の左方向の矢印(←)が
付いていますね。これは、「CVSリポジトリーの内容は、自分の(このEclipseの)中に
あるファイルよりも変更が加えられているので、このEclipseの中に取り込む(更新する)
必要がある」ということを意味しています。

(5) これ(MailSender.java)を右クリックして「更新」を選択して下さい。そうすると、
このCVSリポジトリー内の変更が加えられたMailSender.javaがこのEclipseに取り込まれ
ます。

(6) Javaパースペクティブに戻って下さい。
パッケージ・エクスプローラー内のMailSender.javaを見てみると、リビジョンが1.1から
1.2に変わっていますね。また、ソース・コードを見てみると、前回JavaWorks2ワークス
ペースで編集した内容がちゃんと反映されていることがわかります。

これで更新の操作は完了です。



では、続いて(C6)の操作をやってみましょう。

(1) EclipseでMailSender.javaに以下のような変更を加えてみましょう。

InputStream inputStream = getClass().getResourceAsStream("/runmode.properties");

の行の上に

// プロパティー・ファイルからパラメーターを読み込む。

というコメント行を追加し、保管する。

(2) パッケージ・エクスプローラー内のMailSender.javaの名前の左側に>のマークが
付いていますね。このMailSender.javaを右クリックし、「チーム」→「コミット」を
選択しましょう。

(3) コミットのコメントを聞いてきたら、

コメントの追加

というようなコメントを入力して「終了」ボタンをクリックしましょう。
MailSender.javaのリビジョンが1.3に変わりますね。

(4) Eclipseを終了して閉じておきます。

(5) Eclipseを再度起動し、今度はJavaWorks2ワークスペースを指定しておきましょう。

(6) パッケージ・エクスプローラー内のMailSender.javaを確認して下さい。
リビジョンは以前の1.2のままですね。

(7) このMailSender.javaに以下のような変更を加えてみましょう。

transport.sendMessage(message, to);

の行の上に

// Eメールの送信

というコメント行を追加し、保管する。

(8) パッケージ・エクスプローラーにおいて、プロジェクトJStudySOAPを右クリックし、
「チーム」→「リポジトリーと同期化」を選択します。

(9) 「パースペクティブのオープンの確認」ウインドウが開いたら、「はい」ボタンを
クリックします。

(10) ここで開いた「同期化」ビューの中にはJStudySOAPがリストされていますが、この
左側の+マークをどんどんクリックしていって、中を展開していってください。最後に
先ほど編集したMailSender.javaが出てきてその左側には赤色の両方向の矢印(⇔)が
付いていますね。このMailSender.javaを含むパッケージやプロジェクト等にも同じ
マークが付きますね。この赤色の両方向の矢印は競合状態を表しています。

(11) このMailSender.javaを右クリックし、「比較エディターで開く」を選択して
下さい。
比較エディター(CVSリポジトリー側のソース・ファイルとこのEclipse側のソース・
ファイルを比較できるように同時に開くエディター)が開きますね。
このエディターの上のほうで、「ローカル・ファイル」と書かれているのはEclipse側
のファイルを意味し、「リモート・ファイル」と書かれているのはCVSリポジトリー側
のファイルを意味します。上部から下部までスクロールして見ていくと、CVSリポジト
リー側には

// プロパティー・ファイルからパラメーターを読み込む。

という行が追加されているけれど、Eclipse側にはそれがなく、逆にEclipse側には

// Eメールの送信

という行が追加されているけれど、CVSリポジトリー側にはそれがないということが
わかりやすく表示されていますね。

この場合は、お互いに異なる場所を変更している(バッティングしていない)ので、
両方の追加内容を取り込む(マージする)ことが可能です。

(12) 「同期化」ビュー内のMailSender.javaを右クリックし、「更新」を選択して
下さい。これでCVSリポジトリー側の追加内容がEclipse側に取り込まれます。

(13) 続いて再度「同期化」ビュー内のMailSender.javaを右クリックし、「コミット」
を選択して下さい。

(14) コミットのコメントを聞いてきたら、

コメントの追加

というようなコメントを入力して「終了」ボタンをクリックしましょう。
Javaパースペクティブに戻ってみると、MailSender.javaのリビジョンが1.4に変わって
いますね。
(比較エディターが古い内容のまま残っているかも知れませんが、気にせずに閉じて下さい。)

これでマージの作業が完了です。現在はCVSリポジトリー側とEclipse側で内容が完全に
一致しています。(ただし、JavaWorksワークスペースのほうには最後のJavaWorks2ワーク
スペース側の変更が反映されていませんので、あとでJavaWorksワークスペースでEclipse
を起動し直して、更新を行っておきましょう。)



なお、CVSリポジトリー側とEclipse側で同じ場所(同じ行)に互いに変更が加えられて
いる(バッティングしている)場合は、先ほどの(12),(13)の操作を行うことはできま
せん(エラーになる)。
この場合は、どちらの修正が正しいのか両者の開発者同士で話し合ったあと、手作業
で修正する必要があります。
この場合、先ほどの(12),(13)の操作の代わりに、MailSender.javaを右クリックし、
「オーバーライドおよび更新」を選択すると、Eclipse側のソース・ファイルがCVSリポ
ジトリー側のソース・ファイルで上書きされることになります(自分の行った変更は消
されてしまいます)。また、「オーバーライドおよびコミット」を選択すると、強制的
にCVSリポジトリーにEclipse側のソース・ファイルが登録(コミット)されることにな
ります。
あるいは、「マージ済みとしてマーク」を選んでから「コミット」を選択しても「オー
バーライドおよびコミット」を選択した場合と同じになります。



あとの操作の説明は次回に回します。


(次回に続く)


では、今日はここまでにします。



┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
★ホームページ:
      http://www.flsi.co.jp/Java_text/
★このメールマガジンは
     「まぐまぐ(http://www.mag2.com)」
 を利用して発行しています。
★バックナンバーは
      http://www.flsi.co.jp/Java_text/
 にあります。
★このメールマガジンの登録/解除は下記Webページでできます。
      http://www.mag2.com/m/0000193915.html
★このメールマガジンへの質問は下記Webページにて受け付けて
 います。わからない所がありましたら、どしどしと質問をお寄
 せください。
      http://www.flsi.co.jp/Java_text/
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

Copyright (C) 2009 Future Lifestyle Inc. 不許無断複製