問題タブ [bnd]

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.

0 投票する
3 に答える
5249 参照

java - プライベートパッケージマニフェストヘッダーは何をしますか?

私はとに精通してImport-PackageExport-Packageますが、これは私にとって新しいものです。それは何をするためのものか?

0 投票する
2 に答える
2358 参照

osgi - bndtools Activator バンドル

bndtools でアクティベーターを使用して単純なバンドルを作成するにはどうすればよいですか? それは言い続けています:

Eclipse でこのプロジェクトを作成する方法は次のとおりです。

  1. 新しい「Bndtools OSGi プロジェクト」を作成します
  2. 右クリック、構成 - Maven プロジェクトに変換
  3. Activator.javaパッケージで作成しますcom.myproj
  4. com.myproj専用パッケージに追加
  5. アクティベーターをcom.Activator

これが私のbndファイルです:

生成された jar が空です。任意のヒント?

PS: これは私の Eclipse プロジェクト (zip アーカイブとしてエクスポート) です

0 投票する
3 に答える
2450 参照

java - osgiのバイトからオブジェクトをどのように逆シリアル化しますか

私の osgi アプリケーションには、 と の 3 つのバンドルがtravel.apiありtable.apiますutilstravel.apiに依存table.apiutilsます。travel.apiに直接依存しないことに注意してくださいutils。aQute Bnd を使用してマニフェストを生成していますが、正常に動作していると思います。マニフェストを以下に示します。

PageDatatype のフィールドを持つと呼ばれるクラスがありTableData、これにはさらに type のフィールドがありTestObjectます。PageDataは にありtravel.apiTableDataは にありtable.apiTestObjectは にありutilsます。バンドルが読み込まれると、これはすべて正常に機能します。問題は、オブジェクトを表すバイト配列を受け取ったときに発生しPageDataます。travel.apiバンドルでデシリアライズする必要があります。それが定義されている場所であるため、これは問題にはなりません。バンドルからクラスローダーを使用org.jboss.netty.handler.codec.serialization.ObjectDecoderInputStreamして渡します。travel.api以下に示す例外がスローされますが、基本的には次のようになります。

Import-Packagefortravel.apiを見るとcom.openaf.utils(場所がどこにあるか) がリストされていないことがわかるので、これは理にかなってTestObjectいます。このパッケージを追加すると、正しく逆シリアル化されます。PageDataただし、使用するすべてのフィールドを調べて、それらがすべてこのモジュールにインポートされていることを確認する必要があるため、これらのフィールドに含まれるすべてのフィールドで再帰的に行う必要があるため、これは一般的な解決策とは思えません。

私はここで何か完全に間違っていますか?

OSGi を使用するときにオブジェクトをデシリアライズする最良の方法は何ですか?

私がそれを正しく行っていて、すべての「深い」インポートを指定する必要がある場合、Bnd に「深い」生成をさせる方法はありますか?

どんな助けでも大歓迎です!

osgi ライブラリとして felix v4 を使用しています。

ありがとう、ニック。

0 投票する
1 に答える
334 参照

java - OSGiの推移的な依存関係

私はNoClassDefFoundError実行時に取得していますが、"uses"推移性が作成されたと思ったので、ディレクティブはこれを回避すると思いました(間違っている場合は修正してください)。これが私の設定です:

ここで、バンドル3がBのクラスを呼び出し、次にAのクラスを呼び出すと例外が発生します。コンソールに基づいて、BundleClassLoaderバンドル3(つまり、それ自体)でクラスを検索しますが、バンドル1では検索されないことがわかります。BNDにバンドル3にAをインポートするように強制すると、すべてが正常に機能しますが、手間がかかりすぎます。何かが足りないような気がします。equinoxは、マニフェストの情報を使用してバンドルクラスパスを設定するべきではありませんか?または、最悪の場合、BNDは3の1への依存関係を検出し、3のマニフェストでパッケージAをインポートするべきではありませんか?

私のバンドルはすべてあり、制約違反activeはありませんuses

0 投票する
1 に答える
833 参照

osgi - bnd-cacheにバンドルが見つかりません

bndtoolsに問題があります。解決は問題なく完了しましたが、実行記述子で「Run OSGi」をクリックすると、次の問題が発生します。

Status ERROR: bndtools.core code=0 jena-arq~;version=[2.9.4,2.9.5) Not found in [bnd-cache, aQute.lib.deployer.obr.LocalOBR@1fef0b44, aQute.lib.deployer.obr.OBR@6ccadbd, aQute.lib.deployer.obr.LocalOBR@67a256c7, aQute.lib.deployer.obr.OBR@2d52912f] null

0 投票する
1 に答える
646 参照

maven - OSGi フラグメントからのコード以外のリソースを含む OSGi バンドルを maven で構築するにはどうすればよいですか?

コード以外のリソースを含む OSGi フラグメントがあります。これは事実上、一連のリソース (画像ファイルなど) を含む jar ファイルです。これは maven で構築しました。

リソースを含むフラグメントに依存する Maven を使用して別のバンドルを構築したいと思います。つまり、このバンドル内のコードが実行されるときに、フラグメントからのリソースがロードされ、Java の getResources() コマンドで使用できるようにする必要があります。

これどうやってするの?

0 投票する
0 に答える
301 参照

configuration - BND を使用して構成のデフォルトのブール値を作成するにはどうすればよいですか

OSGI cm によって管理される構成の作成を支援するために、BND 注釈を使用しています。

ここに私の簡単な設定があります

BND 構成アノテーション ライブラリは何度も使用していますが、boolean 型を使用するのはこれが初めてです。

私はこれを読んだ

そして、便宜上、ブール値の整数またはその他の代替数値ベースの処理について説明します。問題は、deflt メソッドが常に文字列値を返すことです。型が整数の場合、「2」を実行します (これらは解析されます)。ただし、ブール値は、この割り当てポイントまで、構成可能な BND コードで解析されていないようです。

deflt 値が解析されない場合に、これが true を返す理由をさらに知りたいと思います。cm は Boolean.parseFrom を実行しようとするため、これが仕様に厳密に従い、false を返すことを期待していました。

cmで値を変更すると、trueに設定してから再びfalseに設定すると正しく機能するため、これはすべて完全な失敗ではありませんが、明らかにそれが機能するかどうか疑問に思っているだけです。

BNDの構成注釈を使用してBOOLEANのデフォルト値を設定する方法を誰かが知っているかどうかを知りたいだけです。

ありがとう

0 投票する
1 に答える
588 参照

java - アクティブではなく解決された必要なバンドルの状態

バンドル B に依存するバンドル A があります。バンドル A のコードが実行され、バンドル B のクラスにアクセスすると、バンドル B の状態はアクティブ (32) ではなく解決 (4) され、バンドル B のアクティベーターは解決されませんでした。同様に実行します。バンドル B のマニフェストに何か問題があると思いますが、それを見つけることはできません。

これは、bnd で生成されたバンドル B のマニフェストです。

これは PDE で生成されたバンドル A のマニフェストです。

0 投票する
1 に答える
220 参照

java - コンソールへの Bndtools 出力

OSGi プロジェクトで bndtools を使い始めたばかりですが、情報出力 (Hibernate 情報、Spring DM 情報) をコンソール (Eclipse) に取得するようにプロジェクトを構成できないようです。フィードバックがなく、ログ ファイルが作成されていないように見えるため、プロジェクトで苦労しています。

Jラブ

0 投票する
3 に答える
3832 参照

osgi - Sonar Runner Gradle タスクを自分のタスクの 1 つに依存させる

最近gradle 1.5でリリースされた新しいSonar Runnerタスクを試しています。私がやりたいことは、ソナー ランナー タスクを別のタスクに依存させて、このプロジェクトのソナー プロパティを正しく設定できるようにすることです (つまり、sonar.sources、sonar.binaries、sonar.libraries、sonar.java.source)。 、sonar.java.target)。

具体的には、ant init タスクが実行されたときにこれらの値を提供する bnd という osgi ビルド ツールを使用しています (デフォルトの bnd build.xml ファイルを含めている間、私の完全なビルドは実際には gradle を使用して行われていることに注意してください)。

これを行うことでソナーランナータスクをカスタマイズできると思いました(これはマルチモジュールビルドです):

最終的に次のようなものを追加します(bnd ant変数について私が理解していることから):

残念ながら、dependsOn を追加しようとすると、エラーが発生します。

sonarRunner を gradle タスクに依存させようとすると、次のエラーが発生します。

ここで明らかな何かが欠けていますか?誰かが私を正しい方向に向けることができれば、それは大きな助けになるでしょう.