3

マルチモジュールのMavenで構築されたOSGiアプリケーションを開発するときに、所要時間が短い開発モデルを探しています。

実際、最良の解決策は、Mavenで生成されたバンドルをプロビジョニングするためのPax ConstructのMavenプラグイン(Pax Runnerと呼ばれる)のようです。ただし、この(または別の)Mavenプラグインを使用して、実行中のOSGiコンテナーにデプロイする方法が見つかりませんでした。mvn pax:run常にOSGiプラットフォームを新たに起動します。AFAIKは、Pax Runnerによって管理されていない既存のOSGiコンテナ(Glassfishv3やSpringSourcedm Serverなど)にデプロイすることもできません。

実行中のOSGiコンテナーにMavenモジュールを迅速にデプロイできるMavenプラグインはありますか?理想的にはpackagingライフサイクルフェーズにフックできますか?

Mavenを使用してOSGiベースのアプリケーションを開発する場合の開発サイクルはどうですか?

4

2 に答える 2

2

Glassfishを使用している場合は、Mavenのターゲット/ディレクトリをGlassFishが更新を監視するように構成できます。そうすると、GlassFishは、作成時にjarを自動的にインストールして起動し、jarが削除されたときにアンインストールして、バンドルを更新します。 jarはターゲットディレクトリで更新されます。これを実現するには、というファイルを作成します

org.apache.felix.fileinstall-maven.cfgの内容は次のとおりです:felix.fileinstall.dir = / path / to / target / felix.fileinstall.poll = 5000 felix.fileinstall.bundles.new.start = true

このファイルをdomain1/autodeploy /bundles/に配置します

さらに質問がある場合は、glassfishユーザーのエイリアスをメールで送信してください。サフー

于 2010-01-04T06:07:00.523 に答える
1

--type osgiそれを行う一般的なプラグインはわかりませんが、GlassFishを使用すると、デプロイを呼び出すときにパラメーターを使用してOSGIバンドルをデプロイできます。

asadmin deploy --type osgi my-osgi-bundle-x.y.z.jar

残念ながら、 maven-glassfish-pluginでtypeオプションのサポートが見つかりませんでした。ただし、maven-embedded-glassfish-pluginには、次のembedded-glassfish:adminことを可能にする目標があります。

組み込みサーバーで指定されたadminコマンドを実行します。たとえば、jdbcリソースを作成できます。

--type osgiプラグインは十分に文書化されておらず、そのセットアップには調査が必要であり、私はこれをテストしませんでしたが、目標に合格できればembedded-glassfish:admin(これは私の理解です)、特定のフェーズで目標をバインドすることが可能であるはずです。標準ビルドの一部としてOSGIバンドルデプロイメントを実行します。

于 2010-01-02T11:48:06.570 に答える