「Eclipse(Neon)にWildFlyを登録するには」の版間の差分
提供: tknotebook
(1人の利用者による、間の19版が非表示) | |||
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'''を登録する手順を説明します。ちょっとした落とし穴があります。 | ||
13行: | 13行: | ||
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) | + | Eclipse(Neon)では新規作成ダイアログで、'''[サーバー]→[サーバー]'''に '''[WildFly 10.0]''' がありますので、 |
− | WildFly | + | WildFly は、簡単に登録できそうに思えます。 |
− | ''' | + | 実は'''これをすぐに使ってはいけません'''。 '''これは落とし穴、巧妙な罠なのです(^^;''' |
− | これを使うとWildFly10をEclipseの[サーバー] | + | これを使うとWildFly10をEclipseの[サーバー]ビューに登録することができますが、Webサーバのランタイムの一覧には何も追加されず |
サーバーの起動もできません。 | サーバーの起動もできません。 | ||
38行: | 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に登録するには、新規作成の'''[サーバー]→[サーバー]'''から | ||
66行: | 72行: | ||
==その他注意事項== | ==その他注意事項== | ||
− | Eclipseで [サーバー] | + | Eclipseで [サーバー]ビューのWildFlyにプロジェクトを追加すると、Webアプリケーションが WildFlyに配備されますが、 |
'''Webアプリケーションのコンテキスト名'''は、'''プロジェクト名ではなく'''、登録される '''WARファイルの名前から .war を削ったもの'''になります。 | '''Webアプリケーションのコンテキスト名'''は、'''プロジェクト名ではなく'''、登録される '''WARファイルの名前から .war を削ったもの'''になります。 | ||
73行: | 79行: | ||
Eclipseで RunAs などで xhtmlファイルを実行するとき、Eclipseが自動的に決めるコンテキスト名とは異なりますので | 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に問題ありません。 |