2009年9月アーカイブ

2008年12月12日の記事で既にご紹介しましたが、MyEclipseにはTomcat6(MyEclipse Tomcatといいます
が同梱されています。

今日は、このMyEclipse Tomcat上で、JSPからデータベースにアクセスするアプリケーションを
動かす場合の注意点についてお話します。


通常、JSPからJDBCドライバを経由してデータベースへアクセスする場合は

  • DriverManager
  ソースコード内にJDBCドライバ名やURL、ユーザ名、パスワードを直接記述する方法

  • DataSource
  JDBCドライバ名やURL、ユーザ名、パスワードの情報をソースコード外部の設定ファイルに保持しておき、
  ソースコードからはデータソース名を使用する方法

のいずれかの方法を使います。


DataSourceを使ったアプリケーションを作成し、それをTomcat上で動かす場合、
JDBCドライバのJARファイルをTomcatインストールディレクトリ以下にあるlibディレクトリ内に格納しますので、

  MyEclipse Tomcat上で動作させる場合は、どこにJDBCドライバのJARファイルを置けばいいの?

という疑問が出てくるかと思います。


実はMyEclipse Tomcatを使う場合は、

 サーバ環境以下のディレクトリにJDBCドライバのJARファイルを格納するのではなく、
 MyEclipse Tomcatの起動時のクラスパスに追加する


必要があります。


具体的なクラスパスの追加方法は以下の通りです。
※接続先データベースのJDBCドライバをあらかじめダウンロードしておき、ローカルマシンに保存しておく必要があります。

(1)
Eclipseメニューから「ウィンドウ」>「設定」>「MyEclipse Enterprise Workbench」>「サーバー」
>「統合されたサンドボックス」>「MyEclipse Tomcat」>「パス」を選択します。

(2)
設定ダイアログの右側の一番上「クラスパスの先頭に追加」欄で、「JAR/ZIPの追加」ボタンを選択します。
ローカルマシンにある接続先データベースのJDBCドライバ JAR ファイルを選択し、
「開く」ボタンをクリックします。

(3)
「クラスパスの先頭に追加」欄に(2)で選択したJDBCドライバのJARファイルが追加されたことを確認し、
「OK」ボタンをクリックします。

jdbc_driver_add1.png


上記の設定をした後、MyEclipse Tomcatを起動すると、
JSPからデータベースにアクセスするアプリケーションが動きます。



ところで、MyEclipse Tomcatの環境がどこにあるのかについて気になる方もいらっしゃると思いますので、
合わせてご紹介します。

MyEclipse Tomcatのサーバ環境は、以下の通りです。

  • MyEclipse6.5以前
  <ワークスペース名>\.plugins\com.genuitec.eclipse.easie.tomcat.myeclipse\tomcat以下

  • MyEclipse7.0以降
  <ワークスペース名>\.metadata\.me_tca以下


上記ディレクトリをのぞいてみると・・・

jdbc_driver_add2.png


通常のTomcatでは存在するlibディレクトリがないので、JDBCドライバのインストール方法も異なったわけですね。


MyEclipse Tomcat上でJDBCドライバを経由したアプリケーションがうまく動かない場合は、
まずMyEclipse Tomcatの起動時のクラスパスにJDBCドライバのJARが追加されているかを
確認してみましょう。


2009年9月17日の記事の続きです。

前回は、Eclipseでテストする際に使う起動構成などの情報をエクスポートして、
別のEclipse環境へ引き継ぐ方法についてご紹介しました。

Eclipseで実行するJavaアプリケーションの起動構成には

  • どのプロジェクトのどのクラスのmain関数を実行するのか
  • 実行するプログラムにどんな引数を渡すか
  • JavaVMの引数として何を設定するか

などの情報を保存しておくことができます。

起動構成の情報はプロジェクトと結びついていますので、


  プロジェクト自体のエクスポートと、起動構成のエクスポートは別々にやりたくないなぁ
と思われる方も多いのではないでしょうか。

実は、Eclipseではわざわざ起動構成の情報をエクスポートしなくても、
プロジェクト内に保存しておくことができます。


操作方法はとても簡単です。

(1)
「Java」パースペクティブが開いている状況で、Eclipseメニューから「実行」>「実行構成」を選択します。

(2)
「実行構成」ダイアログでは、画面左側のリストから保存対象の起動構成を選択します。

(3)
画面右側の「共通」タブを選択し、「保管」フィールドでは「共用ファイル」を選択し、
プロジェクト内のどのディレクトリに起動構成情報を保存するか決めます。

launch_common1.png



最後に「適用」ボタンを選択し、ダイアログを閉じれば保存完了です。


この操作を行うと、起動構成をエクスポートした時と同じように、起動構成のファイルがプロジェクト内に
格納されます。

「パッケージ・エクスプローラ」ビューでプロジェクト内を見てみると・・・

launch_common2.png

確かに、プロジェクト内に起動構成ファイルが保存されていますね。


プロジェクト全体をエクスポートしておけば、別のEclipse環境では
プロジェクトをインポートするだけで、起動構成の情報もそのまま使えるようになりますので、
ぜひ活用してみてください。


2009年9月9日の記事の続きです。

前回は、Eclipseで設定した内容をインポート/エクスポートする方法についてご紹介しました。

こちらの方法を使うと、Eclipseの設定画面で保存した内容を、他のEclipse環境へ
引き継ぐことができます。


ところで、Eclipseの設定画面で保存する内容以外にも、
別のEclipse環境に引き継いで使いたい内容があるかと思います。

例えば、アプリケーションのテスト中にEclipseの環境を移行せざるを得ない場合は、
テストで使っていた情報も引き継いで使いたいと思われるのではないでしょうか。


実は、Eclipseではテスト時に使用する情報をエクスポートして、別のEclipse環境へ
引き継ぐことができます。

具体的にエクスポートできる情報は

  • ブレークポイント
  • 起動構成
の2つです。


エクスポートの方法は、前回ご紹介したEclipseの設定をエクスポートする手順と同様です。

「エクスポート」ダイアログで、「実行/デバッグ」を展開すると、「ブレークポイント」および「起動構成」が
選択できるようになります。

export_test1.png

選択後は、次のページで、エクスポート対象のブレークポイントや起動構成を選択し、
保存先を指定するだけでOKです。

下図は、Javaアプリケーションの起動構成をエクスポートする時の画面です。

export_test2.png


エクスポートしたブレークポイントや起動構成のファイルを新しいEclipse環境でインポートすれば、
テストが楽に再開できますので、ぜひ使ってみてくださいね。


MyEclipseには、データベースに接続し、テーブルの参照や追加・削除、格納データの参照や
値の変更を行うことのできる「データベース・エクスプローラー」というGUI機能があります。

この機能を使うと、データベースを使用したアプリケーション開発を快適に行うことができます。

今日は、この「データベース・エクスプローラー」機能を使ってMyEclipseから接続できる
19種類のデータベースについて、簡単にご紹介していきます。


(1) Axion
Tigris.orgのAxionプロジェクトで開発している、無償、オープンソースのデータベースです。
http://axion.tigris.org/

(2) Derby
The Apache Software FoundationのApache DB サブプロジェクトで開発している、
無償、オープンソースのデータベースです。
※ MyEclipse6.0以降では、MyEclipse内にDerbyを同梱しています。
http://db.apache.org/derby/

(3) Firebird
Firebird Foundationで開発している、無償、オープンソースのデータベースです。
http://www.firebirdsql.org/

(4) HSQLDB
The hsql Development Groupで開発・配布している、無償、オープンソースのデータベースです。
http://hsqldb.org/web/hsqlFeatures.html

(5) DB2
IBM社が提供する有償製品です。
http://www.ibm.com/software/jp/data/db2/

(6) InstantDB
enhydra.orgで開発・配布していたデータベースです。
現在は入手できません。

(7) InterBase
米国のエンバカデロ・テクノロジーズ社が提供する有償製品です。
http://www.embarcadero.com/jp/products/interbase-smp

(8) Mckoi SQL Database
米国のDiehl and Associates, Inc.社が提供する、無償、オープンソースのデータベースです。
http://www.mckoi.com/Mckoi%20SQL%20Database.html

(9) Microsoft(R) SQL Server
Microsoft社が提供する有償製品です。
http://www.microsoft.com/japan/sqlserver/2008/default.mspx

(10) Mimer SQL
スウェーデンのMimer Information Technology社が提供する有償製品です。
http://www.mimer.com/

(11) MySQL
スウェーデンのMySQL AB社が提供していた、無償、オープンソースのデータベースです。
MySQL AB社はその後、Sun Microsystems社に買収されました。
なお、Sun Microsystems社は、Oracle社に買収されることが決まっています。
http://www-jp.mysql.com/

(12) ORACLE
Oracle社が提供する有償製品です。
http://www.oracle.com/lang/jp/database/index.html

(13) PointBase
Pointbase社が提供していた有償製品です。
その後、カナダのDataMirror社の製品となりましたが、同社がIBM社に買収されたことにより、
現在はIBM社の製品となっています。
http://www-01.ibm.com/software/data/infosphere/support/pointbase/

(14) PostgreSQL
PostgreSQL Global Development Groupで開発している、無償、オープンソースのデータベースです。
http://www.postgresql.org/

(15) SAP DB
ドイツのSAP AG社が提供する、無償のデータベースです。
以前はオープンソースでしたが、現在はソースコードが公開されていません。
MySQL AB社からも提供することになり「MaxDB」という名称に変更されましたが、
現在はSAP AG社のみが提供しています(名称は「MaxDB」のままです)。
http://www.sdn.sap.com/irj/sdn/maxdb

(16) SQLite
米国在住のD.Richard Hipp氏を始めとするプロジェクトが開発した、無償、オープンソースのデータベースです。
http://www.sqlite.org/

(17) Sybase
Sybase Inc.社が提供する有償製品です。
http://www.sybase.jp/products/databasemanagement/adaptiveserverenterprise

(18) Teradata
Teradata社が提供する有償製品です。
http://www.teradata-j.com/product/db/index.html

(19) ThinkSQL
英国ThinkSQL Ltd.社が提供する有償製品です。
http://www.thinksql.co.uk/



日本語MyEclipseから接続可能なデータベース一覧は、こちらでご確認ください。
https://www.myeclipseide.jp/modules/contents01/index.php?id=15



Eclipse の「パッケージエクスプローラー」ビューで、プロジェクト内のファイルを見ていると、

 このテキストファイル(例えばindex.txt)のファイル名をちょっと変えておこうかな

と思うことがあります。

 

そこで、ファイルを選択して右クリックし、コンテキスト・メニューを探してみると、

 あれ?「名前の変更」というメニューがない!どうやって変更するんだ?

と慌ててしまったこと、ありませんでしょうか?

 

もし、これがJavaのソースファイルであれば、Eclipseの「リファクタリング」機能を使用して、
ファイル名とクラス名を一致させる形で変更する、ということを思い出すかもしれません。

 

しかし、テキストファイルにはそのような制限はありません。単純にファイル名を
変えるだけですので、ついつい「名前の変更」メニューを探してしまいますよね。


ところが、Eclipseには単純に名前を変えるメニューはありません。
どうすればよいのでしょうか?


その答えは、

 Javaソースコード以外でも、Eclipseの「リファクタリング」機能を使用

するのです。

 

ファイルを選択して右クリックし、コンテキスト・メニューにて、

 [リファクタリング]-[名前変更]

を選択します。

changefilename.png

図: ファイル名の変更

 

すると、「リソース名の変更」というダイアログが出てきますので、新しいファイル名を
入力して「OK」をクリックすると、ファイル名が変更できます。


「ファイル名の変更はリファクタリング」と覚えてしまいましょう。

 

Eclipseの設定を別の環境に移行するには?

Eclipseを使っていると

        Eclipseの環境を再構築しなくてはならなくなった

という経験のある方も多いかと思います。


例えば

  • 色々なプラグインを入れていたら、何か不具合が発生した!!
     原因もよくわからないので、Eclipseをもう一度インストールした方がよさそうだなぁ・・・。

  • マシンをリプレースすることになったので、新しいマシンにEclipseを
     インストールしなければいけないなぁ・・・。
などがありますね。


Eclipseのインストールはとても簡単で、zipアーカイブをディレクトリに展開するだけでOKでした。
※Eclipseのインストール/アンインストールについては2009年3月19日の記事で詳しくご紹介していますので、
   ご参照ください。

なので、インストールし直すこと自体は、それほど面倒に思わないかもしれません。
むしろ、Eclipse環境を再構築する時に気になるのは、『Eclipseの設定』ではないでしょうか?

以前使っていたEclipse環境で、開発に必要な設定がされていると場合、
新しいEclipse環境でこれらの設定を一からやらなくてはならないとなると、
再構築するのが面倒になってしまいますね。

でも、そのような心配はありません。
Eclipseでは、設定内容を別のEclipse環境へ簡単に引き継ぐことができます。


では、具体的な操作方法を見ていきましょう。

【設定のエクスポート】

(1)
Eclipseのメニューから「ファイル」>「エクスポート」を選択し、さらにウィザードで「一般」>「設定」を選択して
「次へ」ボタンをクリックします。

export1.png

(2)
「すべてエクスポート」が選択されていることを確認し、「宛先設定ファイル」フォームで
設定ファイルの出力先を指定し、「終了」ボタンをクリックします。

export2.png



上記で保存した設定ファイルを、新しいEclipse環境でも使うためには、設定のインポートを行います。

【設定のインポート】

(1)
Eclipseのメニューから「ファイル」>「インポート」を選択し、さらにウィザードで「一般」>「設定」を選択して
「次へ」ボタンをクリックします。

(2)
インポートしたい設定ファイルを指定し、「すべてインポート」が選択されていることを確認したら、
「終了」ボタンをクリックします。

export3.png


いかがでしたでしょうか。
設定のエクスポート/インポートの操作は簡単にできますし、色々な場面で活用できると思いますので、
ぜひ使ってみてくださいね。

2009年8月31日の記事 の続きです。
今日は、「/*」と「*/」で囲むコメント形式についてご紹介します。

 

この形式は、複数行に渡るような長いコメントであっても、最初と最後の位置だけ
入力すれば済むという特徴があります。

Eclipse では、この「/*」と「*/」を追加するショートカットキーを用意しています。
それは、コメント化する範囲を指定した後、

 Ctrl+Shift+/

です。コメント化されると、その範囲内の文字が緑色になります。

 

逆に、コメントを外すショートカットキーもあります。
コメントを外すときには、すべての範囲を選択する必要はありません。
範囲内の「一部」だけを選択すればOKです。一部を選択した後、

 Ctrl+Shift+\

とすれば、コメントを外すことができます。

 

「//」以降から行末までをコメント化する形式のショートカットキー Ctrl - / との違いは、

 ・Shiftキーも押す必要がある
 ・コメントを外すときは、/ ではなく \ (バックスラッシュ)を使用する

ですね。違いを理解すれば、覚えやすいかもしれません。

 

さて、ここでショートカットを使ったときの細かな動作を挙げておきます。

(1)
コメントの先頭「/*」のある行で改行キーを入力すると、新しく作成された行の
先頭に「*」が自動で付加されます。

これは「コメントを書く」という観点ではとても便利ですが、コメント化したり
コメントを外したり、を頻繁に行う場合には注意が必要です。

なぜなら、 Ctrl+Shift+\ でコメントを外すと、自動で付加された「*」が
残ったままになってしまい、コンパイルエラーを引き起こすからです。

頻繁にコメント化したりコメントを外す場合には、 // を使用する方が便利です。

(2)
ショートカットを使用すると、コメントがネストするのを防いでくれます。
すなわち、

 /* /* */ */

のようなコメントは入力できないようになっています。入力ミスを防ぐという点で
とても便利な機能ですね。


// に比べると少し使い方が難しくなりますが、うまく使いこなして、理解しやすい
コードを書いていきましょう!

MyEclipse は、Tomcatを始め15種類のアプリケーションサーバに対し、起動や停止、
アプリケーションのデプロイ・デバッグが可能です。

これらを実現しているのが「アプリケーション・サーバー・コネクター」と呼ばれる機能です。

※アプリケーション・サーバー・コネクター機能の詳細については、2009年1月13日の記事をご参照ください。


Eclipseの設定画面で
  • アプリケーション・サーバーを起動する際に使用するJDK
  • クラスパス
  • サーバーの起動モード(実行/デバッグ)
                                 :
                                 :
などの起動構成をあらかじめ設定しておくと、サーバーを起動したい時には
起動用のアイコンをクリックするだけでOKです。


ところで、アプリケーションのテストフェーズでは、アプリケーション・サーバーの起動オプションを変えて
テストしたい場合もあるかと思います。
そのような場合に、いちいち設定画面で「アプリケーション・サーバー・コネクター」の設定を変えるのは
面倒ですね。


MyEclipseでは、

     1つのアプリケーション・サーバーに対して複数の起動構成を作って保持しておく

ことができます。


では、Tomcat6サーバーに対する起動構成を複数作ってみましょう。
具体的な手順は以下のとおりです。

(1)
Eclipseメニューから「ウィンドウ」>「設定」>「MyEclipse Enterprise Workbench」>「サーバー」>
「Tomcat」>「Tomcat 6.x」を選択します。
さらにツリーを展開し、「起動」を選択します。

(2)
設定画面の「起動」ページで、オプション:「起動構成の作成」ボタンをクリックし、「OK」ボタンを選択します。

custom1.png

(3)
「構成の編集」ダイアログが表示されるので、「名前」フィールドに何か文字を入力し、
「適用」ボタンをクリックしてから「閉じる」ボタンを選択しします。
さらに、「設定」ダイアログの「OK」ボタンをクリックして、ダイアログを閉じます。

※このステップは、次のステップを有効にするための操作です。
 「名前」フィールドに入力した文字は保存されません。

custom2.png


(4)
Eclipseメニューから「実行」>「実行構成」を選択して「実行構成」ダイアログを開きます。

左側の「MyEclipse Server」リスト内に、(3)で追加したTomcat6サーバーの起動構成が追加されています。

custom3.png

※(3)で入力した名前は保存されていないので、次のステップで再度名前を変更する必要があります。

 なお、Tomcat6サーバー起動時のVM引数やクラスパスなどの各種設定に関しては、
(1)で確認した「アプリケーション・サーバー・コネクター」設定画面での設定値がそのままコピーされています。


(5)
「名前」フィールドで名前を変更し、さらに起動オプションなどカスタマイズしたい項目を変更して
「適用」ボタンをクリックします。

そのまま、「実行」ボタンをクリックすると、(5)で指定した構成を使用してTomcat6サーバーが起動します。

custom4.png


今回ご紹介したのは、Eclipseの設定画面で構成済みであるTomcat6サーバー起動時の設定をベースとして、
新しい起動構成を作る方法です。

既に起動構成が作成してあり、その構成をベースとして別の構成を作成する方法はもっと簡単です。
詳細は以下のドキュメントをご参照ください。
アプリケーションのデプロイメントおよびサーバー管理のチュートリアルの9章


なお、Tomcat以外のアプリケーション・サーバーに関しても、全く同様の手順で
新しい起動構成を作ることができますので、ぜひお試しください。


MyEclipse とは?

MyEclipse は、JavaEE 開発全般をサポートする Eclipse プラグインです。
開発がすぐに始められ、環境統一やメンテナンスも簡単!

MyEclipse ポータルトップへ

機能一覧ページへ

MyEclipse は 30 日間無料でお試しいただけます。

無料体験版ダウンロードはこちら

おすすめリンク

ブログ記事の一覧ページはこちらへ。

さくさく開発ガイドへ

当ブログの内容には執筆者の個人的見解が含まれることがありますが、これらは、所属する組織・企業の立場、意見、解釈を代表するものではありません。