Eclipse で Glassfish を起動したとき、デプロイされた lib フォルダに jar が入らない -解決編-
※本記事より最適な解決方法がわかったのでそちらを参照すること
記事はこちら
一応メモとして、こちらの内容は残しておく
根本解決ではないかもしれないが、こちらの解決編としておく
根本解決でないといったのは、予め何かしておけば以後恒久的に解決するというものでは無いため
もっといい方法があるのかもしれないが、現状はこれが精一杯・・・
Eclipse で Glassfish を起動したとき、デプロイされた lib フォルダに jar が入らない
とりあえずメモ
上図のようなサーブレットを実行
普通に考えれば、コンソールにログが出るだけ
動作環境は
Gradle プロジェクト(Eclipse で作成した)
AP サーバーは、glassfish
いざ glassfish を起動して、サーブレット実行としても動作しない
500 エラーになる。
依存性がおかしいと言われているが、Gradle プロジェクトじゃない「動的 Web プロジェクト」で
同じコードを動かすと問題なく動作する
glassfish の起動ログみると以下の情報が
2015-06-06T14:27:03.874+0900|情報: WELD-000119: Not generating any bean definitions from service.SampleService because of underlying class loading error: Type org.apache.logging.log4j.Logger not found. If this is unexpected, enable DEBUG logging to see the full error.
log4j のモジュールが見つからないって言ってる
glassfish のデプロイ先の lib フォルダを確認したら空っぽ
log4j のモジュール入れて glassfish 起動してアクセスしたら無事起動した
なんで含まれないのかと疑問に思いつつ、Eclipse のエクスポート機能で war を作ってみると、やっぱり lib の中身は空になる
war を作る際、Eclipse は lib フォルダ直下にあるものをそのまま持ってくるっぽい
glassfish 起動時にも同様のことが適用されるので、空になっていたのだと思う
(Gradle の依存関係は考慮されないんだーと)
今のところ未解決