0

Karaf 2.3.1 を使用しています。私は Apache Karaf マニュアル演習「コンソールの拡張」ページ番号に従っていました。105. 私はすべての指示に従いましたが、いくつかの逸脱がありました。バンドル HelloShellCommand を Karaf にロードできます。それは私にバンドルIDを投げました。しかし、コマンド「test.hello」は機能していません。

karaf@root> osgi:classes は org/apache/karaf.shell/samplesHelloShellCommand.class を示しています

karaf@root> test.hello はコマンドが見つからないことを示しています

karaf@root> osgi:list は、指定されたバンドルのブループリント「失敗」を示しています。

次の手順で、「JAR のコンパイル」セクションの指示から逸脱しました。

  1. jar をビルドしてみましょう: 私は Eclipse から jar をビルドしました。ファイル-エクスポート-Java-Jar ファイル。

  2. 次に、「mvn install」を実行します。これは、Maven が .jar ファイルをどのように使用するのか理解できなかった場所です。pom.xml を探しています。それで、ルートディレクトリに移動して「mvn install」を実行しました。無事通過しました。

  3. osgi:install ..も無事通りました。しかし、Blueprint.xml が通らなかったのではないかと思います。

私は助けが必要です:

  1. これを解決するには?

  2. 各バンドルにインストールされているコマンドを Karaf で知る方法は?

  3. ステップ1で作成した.jarファイルは、pom.xmlを使用する「mvn install」とは異なります。足りないものはありますか?mvn で .jar を使用するには?

  4. また、blueprint.xml がロードされなかったのはなぜですか?

前もって感謝します

さらに、次のスタックオーバーフローがあります。

2013-07-27 19:44:30,733 | エラー | rint エクステンダー: 2 | BlueprintContainerImpl
| container.BlueprintContainerImpl 393 | 7 - org.apache.aries.blueprint.core - 1.1.0 | バンドル null のブループリント コンテナを起動できません

    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:570)[:1.7.0-ea]
at java.util.ArrayList.get(ArrayList.java:348)[:1.7.0-ea]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.readDirectives
      (BlueprintContainerImpl.java:211)[7:org.apache.aries.blueprint.core:1.1.0]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun
      (BlueprintContainerImpl.java:283)[7:org.apache.aries.blueprint.core:1.1.0]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.run     
       (BlueprintContainerImpl.java:261)[7:org.apache.aries.blueprint.core:1.1.0]
at java.util.concurrent.Executors$RunnableAdapter.call
       (Executors.java:471)[:1.7.0-ea]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0-ea]
at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0-ea]
at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run
       (ExecutorServiceWrapper.java:106)[7:org.apache.aries.blueprint.core:1.1.0]
at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run
       (DiscardableRunnable.java:48)[7:org.apache.aries.blueprint.core:1.1.0]
at java.util.concurrent.Executors$RunnableAdapter.call
       (Executors.java:471)[:1.7.0-ea]
at java.util.concurrent.FutureTask$Sync.innerRun (FutureTask.java:334)[:1.7.0-ea]
at java.util.concurrent.FutureTask.run (FutureTask.java:166)[:1.7.0-ea]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201
       (ScheduledThreadPoolExecutor.java:178)[:1.7.0-ea]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run
       (ScheduledThreadPoolExecutor.java:292)[:1.7.0-ea]
at java.util.concurrent.ThreadPoolExecutor.runWorker
       (ThreadPoolExecutor.java:1110)[:1.7.0-ea]
at java.util.concurrent.ThreadPoolExecutor$Worker.run
       (ThreadPoolExecutor.java:603)[:1.7.0-ea]
at java.lang.Thread.run(Thread.java:717)[:1.7.0-ea]
4

1 に答える 1