「Eclipse(Neon)にWildFlyを登録するには」の版間の差分
提供: tknotebook
(→WildFly10 を[サーバー]に登録) |
|||
(1人の利用者による、間の30版が非表示) | |||
1行: | 1行: | ||
− | [[Category:コンピュータ]][[Category:Java]] | + | [[Category:コンピュータ]][[Category:Java]][[Category:JSF]] |
− | [[メインページ]]>[[コンピュータの部屋#Java]]>[[ | + | [[メインページ]]>[[コンピュータの部屋#Java]]>[[JSF Tips]] |
JavaEE用のオープンソースのサーバとしては、Glassfish や TOMEE 等がありますが、 | JavaEE用のオープンソースのサーバとしては、Glassfish や TOMEE 等がありますが、 | ||
− | JBOSS の Wildfly も | + | JBOSS の Wildfly も JavaEE7 に対応していてなかなか使えそうです。 |
− | この記事では、'''Eclipse(Neon)'''に '''WildFly10.1''' | + | この記事では、'''Eclipse(Neon)'''に '''WildFly10.1'''を登録する手順を説明します。ちょっとした落とし穴があります。 |
==WildFlyのインストール== | ==WildFlyのインストール== | ||
WildFly はここからZipを落として適当なフォルダに解凍してください。 | WildFly はここからZipを落として適当なフォルダに解凍してください。 | ||
+ | |||
http://wildfly.org/downloads/ | http://wildfly.org/downloads/ | ||
+ | |||
+ | |||
+ | 後述するように、10.1 は Eclipse4.6(Neon)と相性が良くないようです。'''「WildFly10 を[サーバー]に登録」'''で後述しますが | ||
+ | WTPでサーバの登録を行う際、10.1 がないので強引に 10.0 として登録することは可能ですが、'''「追記 2016.9.06」'''で後述するように'''うまくうごきません。''' | ||
+ | |||
+ | 10.0 をインストールしてください。 | ||
==JBoss Open Shift 3 Tools のインストール== | ==JBoss Open Shift 3 Tools のインストール== | ||
− | + | Eclipse(Neon)では新規作成ダイアログで、'''[サーバー]→[サーバー]'''に '''[WildFly 10.0]''' がありますので、 | |
− | + | WildFly は、簡単に登録できそうに思えます。 | |
− | これを使うとWildFly10をEclipseの[サーバー] | + | 実は'''これをすぐに使ってはいけません'''。 '''これは落とし穴、巧妙な罠なのです(^^;''' |
+ | |||
+ | これを使うとWildFly10をEclipseの[サーバー]ビューに登録することができますが、Webサーバのランタイムの一覧には何も追加されず | ||
サーバーの起動もできません。 | サーバーの起動もできません。 | ||
− | + | これではまずいので、最初は '''[WildFly 10.0]''' を使わず、まず、'''[JBoss Open Shift3 Tools]''' を選んで'''インストール'''してください。 | |
[JBoss Open Shift3 Tools] を選んで[次へ]を押し、あとは指示に従えばOKです。 | [JBoss Open Shift3 Tools] を選んで[次へ]を押し、あとは指示に従えばOKです。 | ||
27行: | 36行: | ||
ゆっくり終わるのを待ちましょう。 | ゆっくり終わるのを待ちましょう。 | ||
− | + | 終わったら Eclipseを再起動してください。 | |
+ | |||
[[ファイル:WildFlyをEclipseから使う001.png]] | [[ファイル:WildFlyをEclipseから使う001.png]] | ||
34行: | 44行: | ||
[JBoss Open Shift3 Tools]のインストールが完了すると、新規作成の[サーバー]→[サーバー]から | [JBoss Open Shift3 Tools]のインストールが完了すると、新規作成の[サーバー]→[サーバー]から | ||
− | [JBoss Open Shift3 Tools]が消え、Wildfly等の JBOSS関連のサーバが''' | + | [JBoss Open Shift3 Tools]が消え、Wildfly等の JBOSS関連のサーバが'''正常にEclipseに登録できるように'''なります。 |
− | 新規サーバとして WildFly を Eclipseに登録するには、新規作成の[サーバー]→[サーバー]から | + | 新規サーバとして WildFly を Eclipseに登録するには、新規作成の'''[サーバー]→[サーバー]'''から |
− | WildFly10.0 を選んでください。 | + | '''WildFly10.0''' を選んでください。 |
[[ファイル:WildFlyをEclipseから使う002.png]] | [[ファイル:WildFlyをEclipseから使う002.png]] | ||
44行: | 54行: | ||
[[ファイル:WildFlyをEclipseから使う003.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のランタイムをプロジェクトへ追加することができない'''ようです。 | ||
+ | |||
+ | 具体的には、'''[プロジェクト・ファセット]'''のダイアログで'''ランタイムに WildFly10.1'''などと指定しても | ||
+ | '''プロジェクトののビルドパスにWildFlyのランタイムが追加されません'''。 | ||
+ | |||
+ | ビルドパスのライブラリダイアログでも確認できました。 | ||
+ | |||
+ | 従ってプロジェクトは JavaEE のライブラリが無いため、全くコンパイルできなくなってしまいます。 | ||
+ | GlassFishのライブラリでコンパイルしたプロジェクトで試験していたので気が付きませんでした。 | ||
+ | |||
+ | ===回避策=== | ||
+ | |||
+ | 回避策は単純です。JavaEEのランタイムライブラリは Glassfish のものを採用するというだけです。 | ||
+ | つまり'''GlassFishのインストールが必要です。''' | ||
+ | |||
+ | '''Glassfish4.1''' サーバをインストールしておいて、Eclipseのサーバビューに登録し、 | ||
+ | JavaEEのプロジェクトには[Glassfish System Library]を割り当てます。こうすればプロジェクトをビルドできます。 | ||
+ | |||
+ | こうしてできたプロジェクトは、私の試験した範囲では WildFly10.0 で問題なく動くようです。 | ||
+ | |||
+ | もしもっと簡単なあるいは筋の通った解決策があれば mailto:tknakamuri@gmail.com までご連絡をよろしくお願い致します。 | ||
+ | |||
+ | ==追記 2016.9.06('''重要''')== | ||
+ | |||
+ | ===問題点=== | ||
+ | |||
+ | Wildfly 10.1 を使うと JPA が正常に動作しません。原因が WTPなのか Wildfly なのかは未調査です。 | ||
+ | |||
+ | ===回避策=== | ||
+ | |||
+ | とりあえず Neon(Pleiades All in One)では、 Wjildfly 10.0 を使えば、JPAに問題ありません。 |