新トップページへ | Tip

開発環境の設定

LastUpdate : 12/09/29

 windows機にて、Eclipse+JBossという前提で話を進めます。
Eclipse+JBossで開発を進めるための環境設定についてまとめました。

もくじ

・開発環境について
・ソフトウェアのインストール
・EclipseにJBossアプリケーションサーバーを追加する
・JBossにDBのドライバを登録する
・DBコネクションの登録


開発環境について

以下の環境で開発を進めていきます。

ローカルの開発マシン Windows7 64bit
Eclipse Juno (4.2)
JBoss AS jboss-as-7.1.1.Final
JBoss Tolls 3.4.0
JDKのバージョン SUNのJDK 64bit版(jdk1.7.0_05)


開発環境の構築

Eclipse(4.2)で開発を行うこととします。2つインストールを行います。

・Eclipse向けのプラグインのインストール

ダウンロードこちらから → http://www.jboss.org/tools/download.html
Eclipse上で、「新規ソフトウェアのインストール」からもインストールできるみたい。その場合は「http://download.jboss.org/jbosstools/updates/nightly/core/trunk/」を指定し「Abridged JBoss Tools」って書いてあるのをインストールすればいいかなと思います。

・JBoss本体(アプリケーションサーバー)のインストール

ダウンロードはこちらから → http://www.jboss.org/jbossas/downloads/
最新版をDLすればいいと思います。
ファイルをDLし、解凍後、どこか適当な場所に置いておきます。
(私は7.1.1を使いました。なぜか、windows上でLhaplusで解凍するとなんかエラーっぽいのが出る。よくわからんのでLinux機に持っていって解凍した。)
インストールはこれだけでOK。
あとは、環境変数にインストールディレクトリを、JBOSS_HOMEとして追加するぐらい・・・?これは必須では無さそう。

EclipseにJBossアプリケーションサーバーを追加する

Eclipseにアプリを実行するためのサーバーを追加します。
通常のサーバー追加の手順を踏みます。
JBossのプラグインがインストールされていれば、「JBossコミュニティー」という項目が追加されているハズ。その中から自分がインストールしたサーバーのバージョンと同じものを選ぶ。
そして他のアプリサーバーのサーバー追加と同じような手順で進めればOK。JBoss独特なのは「構成ファイル」というのを指定する。デフォルトのまんま、「standalone.xml」でよいと思います。
これはサーバーの設定ファイルみたいなやつで、「<JBossの解凍したディレクトリ>/standalone/configuration/standalone.xml」に設定ファイルがあります。

追加が出来たら、サーバーを開始し、正常に起動するか確認します。管理コンソールへは「http://127.0.0.1:9990」でログイン可能。
管理コンソールにアクセスしても、初回の場合は、以下のようなメッセージが出るはずです。

「However you have not yet added any users to be able to access the admin console.」

ユーザーの追加が必要なので、以下の手順を行う。

コマンドプロンプトより、以下のバッチを実行する
<インストールディレクトリ>\jboss-as-7.1.1.Final\bin>add-user.bat
D:\usr\bin\jboss-as-7.1.1.Final\bin>add-user.bat

What type of user do you wish to add?
 a) Management User (mgmt-users.properties)
 b) Application User (application-users.properties)
(a): a

Enter the details of the new user to add.
Realm (ManagementRealm) :
Username : admin
Password :
Re-enter Password :
The username 'admin' is easy to guess
Are you sure you want to add user 'admin' yes/no? yes
About to add user 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'admin' to file 'D:\usr\bin\jboss-as-7.1.1.Final\standalone\configuration\mgmt-users.properties'
Added user 'admin' to file 'D:\usr\bin\jboss-as-7.1.1.Final\domain\configuration\mgmt-users.properties'
続行するには何かキーを押してください . . .

D:\usr\bin\jboss-as-7.1.1.Final\bin>
ポイントは2点。
最初「What type of user do you wish to add?」と聞かれるので、aかbを入力してenterを押す。とりあえずaで良いかと。
「Realm (ManagementRealm)」と聞かれたときはenterを押しただけで何も入力していません。とりあえずはよいかと。

この作業が終わったら、再度、管理コンソールにアクセスし、今入力したIDとパスワードでログインできることを確認する。

JBossにDBのドライバを登録する

ここの例では、PostgreSQLのドライバをJBossへ追加します。ほかのDBも同じ手順で追加可能なハズ・・・。

(1) ディレクトリを作る
まず、エクスプローラから、<JBossインストールディレクトリ>/modulesディレクトリを開きます。
そして、ここに、org/postgres/mainディレクトリを作成します。orgディレクトリは最初からあると思うので、その中にpostgresディレクトリを作り、その中にmainディレクトリを手動で作成します。

(2) ドライバをコピー&設定ファイルの作成
PostgreSQLのJDBCドライバを(1)で作成したmainディレクトリの中にコピーします(postgresql-9.1-902.jdbc4.jarをPostgreSQLから取得し、コピーしてきました)。
そして、同ディレクトリに、module.xmlファイルを以下の内容で新規作成します。

module.xmlファイル
<module xmlns="urn:jboss:module:1.0" name="org.postgres">
    <resources>
        <resource-root path="postgresql-9.1-902.jdbc4.jar"/>
    </resources>
     <dependencies>
         <module name="javax.api"/>
         <module name="javax.transaction.api"/>
     </dependencies>
</module>

(3)JBossの設定ファイルの編集
サーバーをstandalone.xmlの設定で起動しているとします(このページの設定手順に従っている場合、standalone.xmlを使うことになります)。
以下のファイルに設定の追記を行います。

<JBossのインストールディレクトリ/jboss-as-7.1.1.Final/standalone/configuration/standalone.xml

standalone.xmlファイルの追記する項目
■修正前の101行目〜105行目
                <drivers>
                    <driver name="h2" module="com.h2database.h2">
                        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                    </driver>
                </drivers>

■修正後(driverタグを追加した)
                <drivers>
                    <driver name="postgres" module="org.postgres">
                        <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
                    </driver>
                    <driver name="h2" module="com.h2database.h2">
                        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                    </driver>
                </drivers>

この記述で、nameで指定した(ここではpostgres)名前で、ドライバを登録を行ったことになります(登録という表現は正しいのか?w)。

DBコネクションの登録

続きまして、DBのデータソース追加を行います。これで、javaのソースからJNDIを指定してコネクションを取得できます。
管理コンソールにて作業をします。

JBossサーバーを起動し(Eclipse上から起動ボタンを押すだけでOK)、http://127.0.0.1:9990にアクセスします。
右上のProfileを押下し、左側にあるメニューのConnectorの中のDatasourceを選択します。

「add」ボタンを押下し、データソースの追加を行います。

addボタンを押下すると、ダイアログが表示されます。nameには識別用の名前を、JNDI Nameには指定したいJNDI名を入力します。

addボタンを押下すると、登録されているドライバの一覧が出てきます。JBossにDBのドライバを登録するで登録したドライバも出力されます(ここではpostgresが該当)。使用するドライバを選択しNextボタンを押下。

DB接続の設定を記述します。自分のDBの設定に合わせて入力します。以下は私の環境のPostgreSQLの例です。ここで、Doneを押下すれば完了です。
(PostgreSQLの場合のConnectionURLは以下のフォーマットでよいはずです。ホストのアドレスやポート、DB名は自分の環境によって変更してください。UsernameとPasswordも同様に自分の環境用に変更してください)

追加直後は、Disable状態なので、Enableボタンを押下し、起動させる必要があります。

confirmボタンを押下すれば、有効になります。

有効になるとチェックマークに変わります。

デフォルトの状態だと、JTAを使わない設定になってしまうようです。JTAを使う場合(Java EEをやるんだったら、たぶん使う)、使うように設定を変更しないといけません。
Editボタンを押下して、Use JTAにチェックをいれて変更を完了すればOKです(キャプチャは変更前の状態のもの)。