- PR -

GlassFishでUnsatisfiedLinkError

1
投稿者投稿内容
まじぇ
常連さん
会議室デビュー日: 2006/05/31
投稿数: 22
投稿日時: 2007-09-26 12:17
現在GlassFish V2を用いWebアプリを開発しています。
問題はlog4jを使用しており、DOMConfigurator.configure("log4j.xml")という
初期設定処理をサーバー起動時にサーブレットで行っています。(Web.xmlへの記述で)

Eclipseのサーバービューよりサーバーの起動を行うと、
サーバーの起動及び公開が行われ、計2回の初期設定が実行されてしまいます。
log4jでNTEventLogAppenderを使用しているため、ネイティブライブラリは既に
別のクラスローダで読み込まれているとUnsatisfiedLinkErrorが発生してしまいます。

この件に関して情報や解決方法をご存じの方がいらっしゃいましたら、
ご教授願えませんでしょうか?宜しくお願いします。
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2007-09-27 11:32
WEB-INF/libにlog4jのjarを置いているのですよね?

試していないので間違っているかもしれませんが、
GlassFishのlibやdomain/lib/applibsにjarを置けば良さそうです。
log4j.xmlはdomain/configに置けば自動的に読み込まれると思います。
まじぇ
常連さん
会議室デビュー日: 2006/05/31
投稿数: 22
投稿日時: 2007-09-27 11:44
引用:

あしゅさんの書き込み (2007-09-27 11:32) より:
WEB-INF/libにlog4jのjarを置いているのですよね?

試していないので間違っているかもしれませんが、
GlassFishのlibやdomain/lib/applibsにjarを置けば良さそうです。
log4j.xmlはdomain/configに置けば自動的に読み込まれると思います。



その通りです。WEB-INF/libにlog4j.jarを配置しています。
試しにGlassFishのlib配下にlog4j.jarを移してみたところ
正常に動作するようになりました。
クラスローダを上位のもので読み込むようになったようで
何度デプロイしてもエラーは発生しなくなりました。

ネイティブライブラリを使用するクラスについてはクラスローダの
階層関係もしっかり考えないとだめですね・・・

あしゅさんご助言有難う御座いました。
1

スキルアップ/キャリアアップ(JOB@IT)