0

Apache Camel を使用して「hello world」の例を実行しようとしています。OSGi バンドルとして Apache Karaf にデプロイされる単純なルートです。Camel 自体、Spring との統合、OSGi と Karaf との統合など、一度に学ぶことは多すぎます。

私はここからアイデアを追おうとしています: http://www.andrejkoelewijn.com/wp/2008/10/19/simple-camel-dsl-osgi-bundle-example/ .

バンドル、FileRoute.java ファイルを含むパッケージなどを作成しましたが、有効な manifest.mf ファイルを生成できません。これは「maven 用バンドル プラグイン」によって生成されるため、マニフェスト ファイルの生成には POM ファイルが使用されます。 .

問題は、マニフェスト ファイルのインポート パッケージの行です。

Import-Package: com.company.foo.bar.demo;version="0.1",org.apache.ca
 mel.builder;version="2.10",org.apache.camel.model;version="2.10",org.
 apache.commons.logging

エラー: 「使用可能なバンドル エクスポート パッケージ 'org.apache.camel.builder' はありません」(および .model パッケージ)。

まあ、何が問題なのかは理解できますが…これらのパッケージをバンドル用に公開するにはどうすればよいですか?

次に、Apache Camel コンテキストを含む別のバンドルがあるので、そこから「パッケージのエクスポート」を介してパッケージを公開することをお勧めしますが、機能せず、キャメル バンドルをビルドできません。

私はかなり迷っています:(助けやヒントをいただければ幸いです。

ありがとう!

4

1 に答える 1

1

Apache Camel 2.10 以降を使用している場合、Maven アーキタイプは新しい Camel プロジェクトを開始するのに適した場所です。spring-dm または OSGi ブループリントの OSGi ベースのプロジェクトを作成できるアーキタイプがあります。使用するものを選択しました。必要な osgi を生成する maven プラグインをセットアップするので、プロジェクトは OSGi の準備が整います。このプラグインを微調整する必要があるのは、より高度な場合のみです。

詳細はhttp://camel.apache.org/camel-maven-archetypes.htmlを参照してください。

Maven 3.0.x を使用している場合は、入力するだけで簡単に実行できます

mvn archetype:generate

次に、対話モードで実行し、camel と入力して camel アーキタイプのみをフィルタリングします。

次に、アーキタイプの番号を選択します。たとえば、Spring で OSGi を使用するための spring-dm などです。

于 2012-09-12T15:17:33.327 に答える