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 のコンパイル」セクションの指示から逸脱しました。
jar をビルドしてみましょう: 私は Eclipse から jar をビルドしました。ファイル-エクスポート-Java-Jar ファイル。
次に、「mvn install」を実行します。これは、Maven が .jar ファイルをどのように使用するのか理解できなかった場所です。pom.xml を探しています。それで、ルートディレクトリに移動して「mvn install」を実行しました。無事通過しました。
osgi:install ..も無事通りました。しかし、Blueprint.xml が通らなかったのではないかと思います。
私は助けが必要です:
これを解決するには?
各バンドルにインストールされているコマンドを Karaf で知る方法は?
ステップ1で作成した.jarファイルは、pom.xmlを使用する「mvn install」とは異なります。足りないものはありますか?mvn で .jar を使用するには?
また、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]