Eclipse(Neon)にWildFlyを登録するには

提供: tknotebook
2016年8月28日 (日) 11:58時点におけるNakamuri (トーク | 投稿記録)による版

移動: 案内検索

メインページ>コンピュータの部屋#Java>Java Tips


JavaEE用のオープンソースのサーバとしては、Glassfish や TOMEE 等がありますが、 JBOSS の Wildfly も JavEE7 に対応していてなかなか使えそうです。

この記事では、Eclipse(Neon)WildFly10.1を登録する手順を説明します。ちょっとした落とし穴があります。

WildFlyのインストール

WildFly はここからZipを落として適当なフォルダに解凍してください。

http://wildfly.org/downloads/

JBoss Open Shift 3 Tools のインストール

Eclipse(Neon)では新規作成ダイアログで、[サーバー]→[サーバー]に [WildFly 10.0] がありますので、 WildFly は、簡単に登録できそうに思えます。

実はこれをすぐに使ってはいけません。 これは落とし穴、巧妙な罠なのです(^^;

これを使うとWildFly10をEclipseの[サーバー]ビューに登録することができますが、Webサーバのランタイムの一覧には何も追加されず サーバーの起動もできません。

これではまずいので、最初は [WildFly 10.0] を使わず、まず、[JBoss Open Shift3 Tools] を選んでインストールしてください。 [JBoss Open Shift3 Tools] を選んで[次へ]を押し、あとは指示に従えばOKです。

Eclipseの右下にインストール状況が出てきますがそれなりに時間がかかります。 ゆっくり終わるのを待ちましょう。

終わったら Eclipseを再起動してください。


WildFlyをEclipseから使う001.png

WildFly10 を[サーバー]に登録

[JBoss Open Shift3 Tools]のインストールが完了すると、新規作成の[サーバー]→[サーバー]から [JBoss Open Shift3 Tools]が消え、Wildfly等の JBOSS関連のサーバが正常にEclipseに登録できるようになります。

新規サーバとして WildFly を Eclipseに登録するには、新規作成の[サーバー]→[サーバー]から WildFly10.0 を選んでください。

WildFlyをEclipseから使う002.png

[次へ]を押すと以下の画面になります。

WildFlyをEclipseから使う003.png

特に何か入力したり変更したりすることはないと思います。 そのまま[次へ]を押すと以下の画面になります。

WildFlyをEclipseから使う004.png

ここで、[ホームディレクトリ]WilfFlyをインストールしたフォルダを入力してください。

実行環境は、通常インストールしてある JDK が候補として自動入力されますが、 必要があれば変えてください。

ここで[完了]ボタンを押せば作業は全て終了です。[サーバー]ビューに WildFly が追加されていること、 [ウィンドウ]→[設定]→[サーバー]→[ランタイム環境] に WildFly が追加されていることを確認してみてください。

以上で完了です。お疲れ様でした。

その他注意事項

Eclipseで [サーバー]ビューのWildFlyにプロジェクトを追加すると、Webアプリケーションが WildFlyに配備されますが、 Webアプリケーションのコンテキスト名は、プロジェクト名ではなく、登録される WARファイルの名前から .war を削ったものになります。

例えば mavenプロジェクトを登録すると プロジェクト名-0.0.1-SNAPSHOT などとなります。

Eclipseで RunAs などで xhtmlファイルを実行するとき、Eclipseが自動的に決めるコンテキスト名とは異なりますので 注意してください。

コンソールビューでWildFlyのログ出力を眺めていると、 どんなコンテキスト名でWebアプリが登録されたかわかりますので、追加時よく注視しておくのが良いでしょう。

追記 2016.8.28(重要)

問題点

上手くいったと思っていたのですが、WildFly を Neon の WTP で使うと、 WildFlyのランタイムをEclipseに登録することはできますが、 WildFlyのランタイムをプロジェクトへの追加が何故か失敗するようです。

つまり、[プロジェクト・ファセット]のダイアログでランタイムに WildFlyを指定しても プロジェクトのライブラリにWildFlyのランタイムが追加されません。 従って全くプロジェクトをコンパイルできなくなってしまいます。

回避策

取りあえず、Glassfish4.1 サーバをインストールしておいて、Eclipseに登録し、プロジェクトには [Glassfish System Library]を割り当てます。こうすればプロジェクトをビルドできます。

こうしてできたプロジェクトは、私の試験した範囲では WildFly10.1 で問題なく動くようです。