Eclipse 3.7 + GlassFish 3.1.2.2
Eclipseインストール
http://mergedoc.sourceforge.jp/ より Eclipse 3.7.2 Indigo SR2 Windows 32bit ベース / Pleiades All in One 3.7.2.v20120225 をインストール。JRE同梱版を選択。
- 64bit版は無い模様。
- サイトに記載のとおり、同梱のTomcatに不具合ありとのこと。
GlassFishプラグインとGlassFishをインストール
プラグインとGlassFish本体をまとめてインストールできる。
この場合、サーバービューへの登録も自動的に行われる。
ただし、GlassFish本体はmultilingualではないようで、管理コンソールは英語となる。
- ヘルプ>新規ソフトウェアのインストール
- [追加]をクリック
- 名前:は適当に
- ロケーション: http://download.java.net/glassfish/eclipse/indigo
- GlassFish 3.1.2.2 Application Server runtime にチェック。配下に Oracle GlassFish Server Toolsが含まれていることを確認。
- 署名がないけど続行する?の警告については、[OK]
- サーバービューに Internal GlassFish 3.1.2.2 が追加されていることを確認。
JSPアプリの作成と動作確認
動的Webプロジェクトを作成すればHello JSPなアプリが生成される。
動作確認のため、これを配備して実行してみる。
- ファイル>新規>動的Webプロジェクト
- プロジェクト名: 任意(ex. HelloGlassfish)
- [完了]をクリック
- プロジェクトエクスプローラーで[HelloGlassfish]を右クリック
- 実行>サーバーで実行
- 使用するサーバーの選択:でInternal GlassFish 3.1.2.2 を選択
- [完了]
- GlassFishが起動する。また、Eclipse内のWebブラウザーが開き、Hello World! と表示される。
スクリーンショット付きの手順は以下のサイトが参考になる。
リモートのGlassFishサーバをサーバービューに追加 → 挫折
そもそも対応しているのかどうかが不明だが、可能であるような情報もある。
Eclipse and GlassFish: remote deployment and debugging - Stack Overflow
以下のとおり試したが、成功していない。
サーバー側の準備
サーバー側の設定として、asadmin enable-secure-admin の実行が必要。
これを実行しないと、外部からの管理関係のリクエストを受け付けない。
enable-secure-adminの内容については以下に解説がある。管理関係の通信が暗号化される。Webの管理コンソールもHTTPSになる。
enable-secure-adminの実行には、事前にadminにパスワードを割り当てる必要あり。
adminにパスワード割り当て
asadmin change-admin-password
secure-adminを有効に
asadmin enable-secure-admin
再起動
asadmin stop-domain asadmin start-domain
Eclipse側
- サーバービューで新規>サーバー
- サーバーのホスト名を入力
- サーバー・ランタイム環境には、定義済みのGlassFish 3.1.2.2 を選択
- [次へ]
- 管理者パスワードを入力して、[Ping Server]
- ここで、以下のメッセージが表示される。
- Cannot communicate with ホスト名:4848 remote server. Is it up? Is it secure? (Hint: run asadmin enable-secure-admin)
サーバには以下のログ
User [] from host ホスト名 does not have administration access
Eclipse側には以下のログ (workspace配下の.metadata\.plugins\org.eclipse.ui.workbench\log)
!MESSAGE GlassFish: getVersion3Only is failing=FAILED
その他の選択肢
Eclipse 4.2
開いたファイルの切り替えが重い。
GlassFishプラグインをEclipseマーケットプレースからインストールする
Eclipseマーケットプレースから GlassFish Java EE Application Server Plugin for Eclipse を選択する。
GlassFish v3(3.1.1)インストール、Eclipseプラグイン導入 - Shinya’s Daily Reportで紹介されている方法。
- Eclipse 3.6 Helios用のものがインストールされる。
- サーバービューへのサーバー追加は自前で実施が必要。
- 自前でGlassFish 3.1.2.2をインストールしてサーバービューへ追加しようとすると、上記サイト記載のとおり、追加できない。以下のメッセージが表示される。GlassFish 3.1.1ならこの問題は発生しない。
- 指定したディレクトリーに有効な GlassFish インストールがありません。 「インストール・サーバー」ボタンをクリックしてダウンロードし、そのディレクトリーにインストールしてください。
なお、サーバータイプとしてGlassFish 3.1とGlassFish Server Open Source Edition 3 があるが、違いが不明。
上記サイトでは後者を選択している。前者を選択すると以下の問題がある。
- 起動構成画面のサーバータブで選択肢に目的のサーバーが表示されない。
- 上記が支障となり、前期サイトに記載のコンソール文字化け対策が実施できない。
GlassFishプラグインを 追加サーバー・アダプターのダウンロードからインストールする
- サーバービュー>新規>サーバー
- [追加サーバー・アダプターのダウンロード]をクリック
- Oracle GrassFish Server Tools を選択
こちらの場合は、サーバータイプにGlassfish 3.1.2が追加され、Glassfish 3.1.2.2 が登録できない問題は解消。
起動構成画面でサーバータブで選択肢に表示されない問題は残存。
また、冒頭の方法でインストールしたプラグインよりも古い。
GlassFish本体は自分でインストールしたものを使う
プラグインに添付のGlassFishは管理コンソールが英語だが、自前でmultilingual版をインストールすることで日本語となる。
GlassFishのインストール手順、サーバービューへのサーバー登録手順は基本的には以下の解説のとおり。
GlassFish v3(3.1.1)インストール、Eclipseプラグイン導入 - Shinya’s Daily Report
差分や補足
- GlassFishのインストール
- ダウンロードするバージョンは3.1.2.2。
- インストール時、adminのパスワードを設定するが、空欄のままでもよい。
- Eclipseサーバービューでの設定
- サーバービュー>新規>サーバ
- サーバータイプは GlassFish 3.1.2.2 を選択。
- サーバーラインタイム環境:に事前登録済みのGlassFish 3.1.2.2 が表示されている。これは使わず、その右の[追加...]をクリック。
- 新規サーバーランタイム環境 のダイアログが表示される。アプリケーションサーバー・ディレクトリー欄にGlassFishのインストール先のglassfishフォルダを指定。(ex. C:\glassfish3\glassfish)
- デフォルトではGlassFish adminにパスワード指定しない設定になっているため、GlassFish adminにパスワード設定時は、次の設定をする。
- サーバービューで、今追加したサーバーをダブルクリック。
- アプリケーション・サーバのグループの[管理コマンドに匿名接続を使用]のチェックをはずす。
- Ctrl+Sで保存
サーバー起動時に以下のエラーが出る場合は対処が必要。
GlassFish v3 requires a JDK 1.6 and not a JRE. Please add/select the correct JDK in the Server properties 'Runtime Environment' section.
- サーバービューで、今追加したサーバーをダブルクリック。
- [ランタイム環境:]というハイパーリンクをクリック。
- JRE: 欄に選択されているものをJDKに変更。選択肢に[デフォルトJRE]以外にjava5, java6, java7があるはずで(Pleiades All in Oneの場合)それらを選択すればよい。
[デフォルトJRE]しかない場合は実行環境としてのJDKを登録する必要がある。
- メニューバーから ウィンドウ>設定>Java>インストール済みのJRE
- [追加]
- 標準VMを選択し、[次へ]
- JREホーム:に、JDKのフォルダを指定。Pleiades All in Oneなら、C:\bin\eclipse-pleiades-java-3.7.2\java\6 など。指定するパスに\jre を付けない。
JDK登録後、前述のように[ランタイム環境:]をクリックし、JRE:欄に、今登録したJDKを選択する。
サーバー起動時になかなか起動が完了せず、コンソール(Server.log)に以下のメッセージが出る場合は、adminの認証情報に誤りがある。
情報: ホスト127.0.0.1のユーザー[admin]が管理アクセス権を持っていないか、不正なユーザー名およびパスワードが指定されています
情報: ホスト127.0.0.1のユーザー[]が管理アクセス権を持っていないか、不正なユーザー名およびパスワードが指定されています
特に、GlassFish側でadminのパスワードありにしている場合、前述のとおり[管理コマンドに匿名接続を使用]のチェックをはずす必要があるが、はずれていない場合にこの現象が発生する。