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 の依存関係は考慮されないんだーと)
今のところ未解決