技術メモブログ

技術ネタの備忘録的なブログ。技術ネタ以外にも気になったことをつらつら書きます

Eclipse で Glassfish を起動したとき、デプロイされた lib フォルダに jar が入らない

とりあえずメモ

 

f:id:mtkj:20150606144602p:plain

上図のようなサーブレットを実行

普通に考えれば、コンソールにログが出るだけ

 

動作環境は

Gradle プロジェクト(Eclipse で作成した)

AP サーバーは、glassfish

 

いざ glassfish を起動して、サーブレット実行としても動作しない

500 エラーになる。

f:id:mtkj:20150606145104p:plain

 

依存性がおかしいと言われているが、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 の依存関係は考慮されないんだーと)

 

今のところ未解決