2011-01-18 17 views
2

2つのプレーンライブラリを持つEARがあります。それらの1つはスカラーライブラリです。私はNetbeansとEARを展開する場合、期待どおりに動作します。これは開発には問題ありませんが、最終製品はコマンドライン経由で配布可能でなければなりません。このために私が使用します。Java EE 6/Glassfish 3.xでライブラリを展開する方法

org.glassfish.api.admin.CommandException: remote failure: Error occurred during deployment: Exception while deploying the app […-ear] : C:\Work\Workspa 
ces\…\Glassfish\…\applications\scala-library-2.8.0.jar. Please see server.log for more details. 
Befehl deploy fehlgeschlagen. 

は私が扱うライブラリは、Java EE 6/Glassfishの3.xのをより厳しくなっていることが判明ネットを検索し、それがないことを:で失敗し

asadmin --user … deploy --upload ./target/…-ear.ear 

これ以上耳の内側のlibフォルダに追加するには十分です。作者だけが今必要なことに言及するのを怠った。

私はMETA-INF\application.xmlのための新しい<module><java>エントリを発見した - しかし、それはどちらか助けていない:

<module> 
    <java>scala-library-2.8.0.jar</java> 
    </module> 

だから質問は:誰もがあなたは、Java EE 6のためのEARファイルにライブラリを追加するために何をすべきか知っています/グラスフィッシュ3.x?

PS:ビルドにはMavenを使用します。違いがあればそれを使用します。

答えて

3

まあ、私は解決策を見つけたようです。 終了META-INF\application.xml展開のからlibrary-directoryエントリを追加した後あなたが実行されます:

<library-directory>lib</library-directory> 
</application> 

奇妙なことは、そのliblibrary-directoryのデフォルトです。だから私はGlassfish自体がデフォルトを正しく処理していないバグでなければならないと思います。 Mavenを使用している場合はpom.xmlbundleDirを必ず使用してください。

関連する問題