問題タブ [apache-karaf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Apache karaf の activemq、xbean で構成をロード
Apache Karaf で実行されている OSGi バンドル内の xbean 構成を使用して、組み込みの ActiveMQ ブローカーを作成したいと考えています。このコード:
次の例外で失敗します。
必要なすべてのバンドル (activemq、activemq-spring、xbean-spring) がロードされて実行されており、私のバンドルにはすべてが含まれていImport-Package
ます。
スタンドアロンの ActiveMQ ブローカーからロードされた同じ構成ファイルは、正常に機能します。
これは、xbean がインポートしないバンドルからクラスにアクセスできないために発生していると考えられます。これを回避する方法はありますか?
spring - Karaf を介した Spring アプリケーションの例
Karaf 2.2.x で公開されている Spring アプリケーションの例、特に@Repository
Spring コンポーネントのアノテーションを使用したものはありますか?
dependencies - Mavenで除外された依存関係を持つバンドルの未解決の制約
osgi アプリケーションで querydsl ライブラリを使用しています。アーティファクト querydsl-jpa には依存関係として hibernate-jpa-2.0-api があります。
休止状態を使用しないため、pom.xml にそのような除外を追加しました。それでも (karaf features.xml ファイルを介して) サービスを開始しようとすると、次のようになります。
コマンド実行エラー: 機能 querydsl-jpa-2.5.0 でバンドル mvn:com.mysema.querydsl/querydsl-jpa/2.5.0 を開始できませんでした: バンドル com.mysema.querydsl.jpa の未解決の制約 [223] : 223.0 を解決できません: 要件 [223.0] パッケージがありません。(&(package=org.hibernate)(version>=3.6.8.Final))
mvn プロジェクトの依存関係: ツリーは休止状態の依存関係を返しません。これは、依存関係が明示的に除外されている場合でも、osgi 依存関係が querydsl バンドルのマニフェスト ファイルによって排他的に決定されることを意味しますか?
および features.xml からの抜粋
jetty - ファイルシステムから静的コンテンツを提供するためにKarafのJettyを取得するには?
Karaf のバンドル外から静的コンテンツを提供する必要があります。すでに Pax Web と Jetty が組み込まれているので、問題にはならないと思っていましたが、今のところ成功していません :(
、、および機能がインストールされjetty
てhttp
います。http://team.ops4j.org/wiki/display/paxweb/Advanced+Jetty+Configurationに従って、これを に追加しました:http-whiteboard
war
etc/jetty.xml
完全なファイルは次のとおりです。
そしてorg.ops4j.pax.web.cfg
、この内容でファイルを作成しました:
私が見るログで
しかし、ファイルは表示されません。たとえば、ファイルがありますが、 または/home/aromanov/workspaces/odp-server/ru.focusmedia.odp.server.poim.resources-rodniki/.style
のいずれhttp://192.168.1.9:8080/app/.style
かに移動するとhttp://192.168.1.9:8282/app/.style
404 エラーが発生します。
maven - Karafは、Maven Centralからの推移的な依存関係のダウンロードをサポートしていますか?
Karafを使用しようとしていますが、ApacheMavenCentralリポジトリから推移的な依存関係をプルするように設定できるかどうか疑問に思いました。「埋め込みバンドル」を使用する必要はありません
明示的な依存関係を引き出すことができることはすでに知っています。質問の重要な部分は「推移的な」依存関係です。
また、OBRを使用してデプロイされたサイトのrepository.xmlファイルから読み取ることができることも知っていますが、MavenCentral用のファイルが見つかりません。質問に対する考えられる答えはURLを追加することですが、repository.xmlのURLが何であるかについてはどこにも文書化されていません。
現時点では、私の回避策は、依存関係が何であるかを把握し、それらを明示的に追加することです。
埋め込まれたバンドルは、Karaf OSGiブループリントの実装では機能しません(存在しないものを待つだけです)。それをしなければならないのも醜いです。この質問に対して私が考えることができるもう1つの可能な答えは、必要なすべての依存関係を含む任意のOSGiコンテナー(KARファイルを使用するKarafだけでなく)にデプロイできるパッケージを作成するための指示があったかどうかです。
unit-testing - Pax Exam で OBR を使用して推移的な依存関係を処理するにはどうすればよいですか?
Karaf では、OBR 機能をインストールし、obr:addUrl を使用して repository.xml を追加し、obr:deploy を使用して、すべての推移的な依存関係と共にバンドルをデプロイできます。https://stackoverflow.com/a/10989017/242042で文書化しました
ただし、PaxExam を使用して JUnit テストを作成したいのですが、PaxExam で Karaf を使用して行ったことをエミュレートできないようです。
OBR リポジトリを参照し、すべての推移的な計算を自動的に実行してデプロイを行う方法を示すコード スニペットはありますか?
apache-karaf - 条件付き演算子shell:if in karaf/jlineを使用するにはどうすればよいですか
jlineライブラリを使用するapachekarafコマンドラインを使用して条件付きでコマンドを実行しようとしています。
shell:ifコマンドにドキュメントが見つかりません。
たとえば、Linuxシェルではこれは機能します。
karafの構文を次のように変更すると:
エラーが発生します:
さまざまな構文を試しましたが、理解できません。
eclipse - KarafをEclipseに統合する方法
わかりました。EclipseでEIKを機能させようとしています。私はビデオをYouTubeに入れ(それは私が達成していないステップを想定しています)、しばらくの間グーグルで検索し、それからそれをハックしようとしました。サイコロはありません。関連情報は次のとおりです。
Karafをダウンロードしてインストールしました。コンソールは正常に動作します。
EIKをダウンロードしました。
私はEclipseIndigoを持っています
これらの2つの質問について助けていただければ幸いです。
このビデオのEIKチュートリアルでは、OSGiフレームワークメニューからApacheKarafOSGiフレームワークを選択するユーザーを示しています。そこにカラフェを入れる方法がわかりません。これが最初のブロッカーです。
EIKをダウンロードしましたが、内部をざっと見てみると、メインのEclipseインストールフォルダーにコピーする必要があることがわかります。eclipseフォルダーをコピーして試してみました。Karaf Perspectiveは存在せず、これが正しくインストールされていることを示すものは見つかりませんでした。これは私の2番目のブロッカーで、EclipseでEIKを取得します。これが発生する前に、ステップ1を完了する必要がある場合があります。
どんな助けでも大歓迎です!
java - Java プログラムにリダイレクトしますか?
プロジェクトで、Apache Karaf の自動ビルド システムをセットアップしようとしています (新規インストールで作業環境をセットアップするために、Karaf で実行する必要があるコマンドがいくつかあります)。Karaf には、いくつかのパラメーターを設定し、実際の Java プログラムを呼び出すバッチ/スクリプト ファイルが含まれています。本質的に、私は次のようなことができるようにしたいと思います:
しかし、これを試してみると、何もしません。私の目標は、単に karaf.bat ファイルをコピーし、(以下のように) 少し変更して、実行できる「karaf-install.bat」を作成することです。私が変更した karaf.bat の部分を以下に示します。< "C:\commandFile.txt
最後に追加しただけです (以下は、読みやすくするためにすべて 1 行にまとめています)。
しかし、Karaf は何も表示しません。通常どおり実行したかのように実行されます。私のコマンドは実行されません。コンソールからJavaプログラムにリダイレクトする方法はありますか? 私はそれを間違っていますか?
価値のあることとして、これは最終的に Windows と OS X の両方で行われる予定ですが、現時点では Windows に焦点を当てています。
更新:これはOS Xでうまくいくようです(カラフは(「コマンドが見つかりません:」と言って)苦労しますが、すべてを初期化する前にコマンドを取得しているためだと思います)が、Windowsはまだうまくいきませんコマンドも取得します。もっと突っ込みます。
osgi - Karaf の下で Felix fileinstall を使用して型指定されたサービス プロパティ
私の Karaf コンテナーでは、通常、etc/*.cfg ファイルを使用してサービスを構成します。ただし、メタタイプを使用するサービスを継承し、プロパティの 1 つが String ではなく Long であることを期待しています (文字列でクラッシュします)。そのようなプロパティを提供するには、どのようなテクニックを使用すればよいですか?
潜在的な解決策を1つ発見しましたが、行き詰まりました。Felix には、次のような構文を持つ .config ファイルの代替構文があります。
ここで、「type」はタイプを表す 1 文字のコードです (たとえば、Long の場合は「L」)。フィルターを次のように変更しました。
ここまでは順調ですね。デバッガーを介して、Felix がファイルを読み取っていることを確認できますが、結果の辞書はエラーなしで空の状態に戻ります。(org.apache.felix.fileinstall-3.2.2-sources.jar には、別の jar からシェーディングされた ConfigurationHandler.java がないため、簡単にデバッグできません...)
私は正しい道を進んでいますか? .config 構文を修正するだけでよいでしょうか? それとも、これは回避して代わりに他の手法を使用する必要がある従来の構文ですか?
更新: .config ファイルの構文エラーを修正することで、「空の辞書」の問題を部分的に解決しました (予想よりも厄介です)。私の他の質問はまだ残っています:これは良いアプローチですか、それとももっと良い方法がありますか?