0

私はバンドルを持っています:

<groupId>com.helloworld</groupId>
<artifactId>Helloworld</artifactId>
<version>1.0.0-SNAPSHOT</version>

以前は、バンドルと OSGi コンテナー (FUSE ESB Enterprise) が同じマシンにありました。次のコマンドを使用して、ローカルの Maven リポジトリからインストールします。

FuseESB:karaf@root> install file:/home/li/.m2/repository/com/helloworld/Helloworld/1.0.0-SNAPSHOT/Helloworld-1.0.0-SNAPSHOT.jar

バンドルと OSGi コンテナーが別のマシンにあるようになりました。

IP が 192.168.122.22 のマシンにバンドル

このバンドルをリモートでインストールするにはどうすればよいですか?

4

2 に答える 2

1

installコマンドの引数が URL であることに注意してください。そのため、URL ハンドラーを使用できる任意の URL からインストールできます。例えば:

install http://www.example.com/helloworld-1.0.jar

于 2013-05-04T17:32:10.357 に答える
1

Fuse ESB またはより一般的な Apache Karaf ベースのサーバーの場合、pax url mvn uri prefixがあります。これにより、mvn リポジトリからバンドルをインストールできます。ファイルのURIではなく、常にこのURIを使用することを提案します。あなたの場合、コマンドは次のようになります。

インストール mvn:com.helloworld/Helloworld/1.0.0-SNAPSHOT

この uri は、ファイル ベースの uri よりも少し小さくなっています。ただし、大きな利点は、完全な mvn 解像度を利用できることです。したがって、この上記の URL は、ローカルの Maven リポジトリだけでなく、Maven Central からのバンドルでも機能します。

もちろん、通常、独自のアーティファクトを Maven Central にデプロイすることはありません。したがって、社内でこれを使用する場合は、Nexus や Archiva などの Maven リポジトリをセットアップする必要があります。次に、mvn clean deploy を使用して独自のバンドルを会社のリポジトリにデプロイします。もちろん、これには pom を正しく設定する必要がありますが、大規模なプロジェクトではとにかくそれが必要になります。

必要な最後のステップは、Fuse ESB / Karaf を設定して、会社のリポジトリも使用することです。これは、リポジトリ uri をファイル etc/org.ops4j.pax.url.mvn.cfg に追加することによって行われます。

もちろん、これは Neil が提案した http url よりも少し手間がかかります。利点は、これが Maven ビルド プロセスと非常によく統合され、バンドル mvn uris が Maven リポジトリの場所に依存しないようになることです。また、独自のバンドルとオープン ソース バンドルを、機能を使用して組み合わせ始めるときに混合することもできます。

于 2013-05-05T14:39:21.923 に答える