【Eclipse】Eclipseの上からThorntail Demoを直接起動してみた

これがTomcatかJBossのアプリのプロジェクトなら、
実行⇒サーバーから実行
で起動できるが、
WebプロジェクトのランタイムにThorntailが無いので簡単には直接起動できない。
また、Thorntailのサイトのジェネレータで作ったものはmavenプロジェクトなので、
Eclipseとはちょっと相性が悪い。
変なエラーが消えなくなったら、プロジェクトを右クリック⇒maven⇒プロジェクトの更新 で大体直ってしまうが、
プロジェクトのプロパティのJavaのビルド・パスにある「JREシステム・ライブラリィ」がデフォ(実行環境)に戻ってしまうので、代替えJREにしていると毎度直さないといけない。
ビルドしなおすのに Eclipseのクリーンとmav install の両方でやらないと、やはり調子が悪い。
コマンドラインからはmvn thorntail:runで起動するが、mvnはターゲットではないので、この設定ではEclipseからは起動できない。(らしい
実行しようとしても、
Mainが!
not foundexecption x:\xxxxxxxx\xxxxxxxxx\xxxxx\lasspath!
と出てエンストするだけ。
悩んだ末、
プロジェクトのtargetフォルダにビルドしてあったdemo-thorntail.jarを
demo-thorntail.zipの別名でコピって、
エクスプローラのZIP拡張機能を使って中を調べたら、
org\wildfly\swarm\bootstrapのフォルダにMain.classを見つけたので
メイン・クラスはorg.wildfly.swarm.bootstrap.Mainに決定。
 
更には
実行の設定画面のクラスパス・タグで、
プロジェクトのtargetフォルダに実行に関わりそうなJarやWar
(先のjarファイルと親プロジェクトと思われるwarファイル)
demo.war – \demo\target\
demo-thorntail.jar.war – \demo\target\
の2つを追加。
GOすると、ブラウザから http://127.0.0.1:8080/{作ったサービス} で反応があった。
【実行】させるのはいいけど
コマンドラインから起動したように
taskkill /im java.exe /fでは消せない。
タスクマネジャーで見ると、
Eclipseのプロセス・グループの配下のサブ・タスク(Java(TM) Platform SE binaryという名前)として起動されているから
Eclipseを終了すると綺麗に消えてくれるが、
これは時間がかかるので、タスクマネージャに載ってたEclipseのサブ・タスク(Java(TM) Platform SE binaryという名前)をクリックして「タスクの終了」から終了させた方がいいだろう。
今度は【デバッグ】で実行してみると、ブレークポイントがサクっと当たるので楽チンだった。【停止】ボタンで先のサブ・タスクも消える。
次からはコレで行こう。
しかし、mvn thorntail:runから起動している訳では無いので
ソースを修正すると、デバッグ・ビューには一斉に「同期が取れていない」表示になってしまう。
【停止】してPOM.XMLからmvn installで再ビルドしないと直らないので、
ソースを修正する度にThorntailを【デバッグ】再起動することになってしまい時間がかかる。
ブレークポイントを設定して、そこで止めるダケなら、この方法でもいいけど、操作方法でたまに違うスレッドがあたってしまうこともある。
ソースにチマチマとLOGを入れる時はリモート・デバッグのブレークポイントで止めて修正&ビルド&RELoadの流れの方が便利だ。




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA