web-dev-qa-db-ja.com

どのMavenGlassFishプラグインを使用しますか?

私はデプロイを統合しようとしていますJava .warはMavenを介してGlassFishV3にあります。私はいくつかのプラグインを見つけましたが、どれも非常にアクティブに見えません:

そして、私は Eskato's Blog から最も多くの情報を得ました。それは2008年3月に書かれたので、GlassFish Maven統合の状態が何であるかわかりません。また、使用するのに適したプラグインを見つけることもできません。 Maven GlassFishプラグイン である程度の成功を収めましたが、サポートしているすべての目標に対して完全に機能するとは限らないため、一部のコマンドが無効になります。

他の誰かがGlassfishV3とMavenをうまく統合できましたか?もしそうなら、それを成し遂げるためにどのようなリソースを使用しましたか?

32
Nick Klauer

更新: CARGO-491 修正され、それに応じて回答を更新しました。要約すると、基本的に3つのオプションがあります。

MavenGlassFishプラグイン

最初のオプションは、 Maven GlassFishプラグイン を使用することです。このプラグインを使用すると、ローカルまたはリモートのGlassFishインストールと相互作用できます。Mavenビルドライフサイクル内からのGlassfishドメインとコンポーネントのデプロイメントの管理

Maven EmbeddedGlassFishプラグイン

2番目のオプションは、 Maven Embedded Glassfishプラグイン を使用することです。その名前が示すように、このプラグインは既存のインストールに依存しませんが、プラグインと同じJVMで実行される組み込みのGlassFishを使用します。このプラグインは、ビルドを移植可能に保ちたい場合(POMを取得して、インストールしなくてもGlassFishを含むビルドを実行できる)、通常のGlassFishインストールとほぼ同じ機能を備えている場合に非常に便利です(もちろんクラスタリングを使用できます)。事前設定済みdomain.xml お望みならば)。例については、 GlassFishMavenプラグインとJavaDBEmbeddedを使用したテスト を参照してください。

Mavenカーゴプラグイン

川口耕介によって開始された作業は、最終的にCargoに統合され、Cargo 1.0.1以降、 GlassFish 3.xがサポートされるようになりました 。したがって、 Maven Cargoプラグイン を使用することは3番目のオプションです。これは、不可知論的な方法でコンテナーと対話したいビルドにとって興味深いでしょう。しかし、CargoがGlassFish固有のプラグインのすべての柔軟性を許可するかどうかはわかりません(JMSリソースのデプロイなど)。

41
Pascal Thivent

maven-glassfish-pluginとmaven-embedded-glassfish-pluginには、どちらも長所と短所があります。主な違いは、後者は名前で示されているように、Embedded Glassfishインスタンスで動作することです。つまり、サーバーはプラグインと同じVMで実行されています。

したがって、maven-embedded-glassfish-pluginを使用してWARをスタンドアロンのGlassfishサーバーにデプロイすることはできません。そのためには、maven-glassfish-pluginが必要です。

Maven-glassfish-pluginで発生した主な問題は、Glassfishサーバーとの相互作用がステートフルであるという事実です。どのような場合でもWARがサーバーにデプロイされるように使用する方法が見つかりませんでした。前のビルドが成功したかどうか。

wARがすでにデプロイされている場合、glassfish:deployは機能しません。 WARがデプロイされていない場合、glassfish:redeployは機能しません。そして、Mavenにはif-elseロジックがありません...

8
Harald Wellmann

プラグインの新しいリリースが出るまで、GlassFish4.0で正しく動作するようにMavenEmbeddedGlassFishプラグインを構成する方法についてブログを書きました。

https://blogs.Oracle.com/brunoborges/entry/glassfish_4_beta_and_maven

また、glassfish-resources.xmlでデータソースを構成し、正しく機能させることもできます。

https://blogs.Oracle.com/brunoborges/entry/configure_datasources_for_maven_embedded

これらは、MavenとGlassFish4でJava EE7プロジェクトを実行したい人にとって役立つヒントです。

2
Bruno Borges
1
incomplete

Maven-glassfish-plugin.dev.Java.netでglassfishプラグインを使用し、v3をサポートするためにいくつかのコード変更を行いました。コミッターのステータスをリクエストし、確認を待ちます。うまくいけば、変更をコミットできます。

0
user297232