0

Java コーディングの経験はありますが、多様な Java エコシステム全体についての知識はあまりありません。私は今、巨大なシステム用の小さな Karaf プラグインを開発する任務を負っています。このシステムは、Camel、Karaf、Maven など、無数の Java グッズを利用しています。いくつかの小さな変更を加えて再構築する必要があるサンプルコードがいくつかあります。

この例は Maven プロジェクト (少なくとも pom.xml があります) であり、最終的には Karaf プラグインである必要があります。サンプルに変更を加えてプラグインを再構築する最も簡単な方法は何ですか? 私はこれまで上記のいずれも使用したことがなく、変更が小さいため、多くのものをインストールして構成するのは少しやり過ぎのようです.

どこから始めれば?:)

4

2 に答える 2

3

Maven はすでに karaf 用のプラグインを提供しています。あとはそれをアタッチするだけです。

詳細については、以下のリンクを参照してください。

http://karaf.apache.org/manual/latest/developers-guide/karaf-maven-plugin.html

ありがとう

于 2013-07-31T19:44:49.147 に答える
0

私はtech-idiotに同意します。最善の策はkaraf-maven-pluginで時間を費やすことですが、少なくともmavenプラグインの助けを借りて簡単に達成できることを理解するために、手動でバンドルを設定することもできます(特に依存関係が多い場合)。

基本的な OSGI バンドル (「プラグイン」と呼ばれるもの) は、 MANIFEST.MFファイルという特別なプレーン テキスト ファイルを含むJARファイルに他なりません。

MANIFEST.MFは、バンドル、その名前、説明、アクティブ化する方法、およびバンドルが実行するために必要なもの(依存関係またはインポート)、および他のバンドルに提供する必要があるもの (そのエクスポート) を記述します。 )。

これは、ウィキペディアの OSGIエントリから取得したマニフェスト ファイルの例です。

Bundle-Name: Hello World
Bundle-SymbolicName: org.wikipedia.helloworld
Bundle-Description: A Hello World bundle
Bundle-ManifestVersion: 2
Bundle-Version: 1.0.0
Bundle-Activator: org.wikipedia.Activator
Export-Package: org.wikipedia.helloworld;version="1.0.0"
Import-Package: org.osgi.framework;version="1.3.0"

MANIFEST.MFファイルは通常、jar のフォルダーにパックされているためMETA-INF/MANIFEST.MF、次のようになります。

  • そのファイルを手動で作成し、生成された jar に手動で追加できます。
  • Import-Packageおそらく、サンプル マニフェストの最後の 3 つの要素から、セクション ( noBundle-Activatorおよび no Export-Package)のみが必要になるでしょう。
  • アプリとそのバージョンにImport-Package 必要な各外部パッケージ インポートで宣言する必要があります。アプリで使用する外部依存関係は、バンドルを実行するために OSGI ランタイムで利用できる必要があることに注意してください。
于 2013-08-07T09:32:05.157 に答える