問題タブ [bndtools]

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 投票する
1 に答える
194 参照

java - Eclipse: .classpath には、継続的インテグレーション中に使用できないライブラリが含まれています

jar ファイル osgi.core-4.0.1.jar がローカルの .bnd フォルダーにあるにもかかわらず、このエラーが発生します。

エラーは<?xml version="1.0" encoding="UTF-8"?>、プロジェクトのメイン API (com.mycompany.test.api) の .classpath の 1 行目 ( ) にあります。

何が問題なのですか?よろしくお願いします。

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

java - Eclipse で外部 jar を追加する方法

これらの外部 jar を Eclipse リポジトリから正常に追加して使用することができません。

org.apache.felix.dependencymanager.annotation-4.0.3
org.apache.felix.dependencymanager.runtime-4.0.2
org.apache.felix.dependencymanager.shell-4.0.3
org.apache.felix.dependencymanager-4.2.0

[ファイルをリポジトリに追加] ウィンドウでエラーが発生しません。

ここで成功

ただし、[完了] ボタンをクリックすると、エラー警告のポップアップ ウィンドウが表示されます。

エラー

次に、[使用可能なバンドル] タブから [実行要件] タブにそれらを追加し、実行要件を解決しようとすると、次のエラーが発生します(すべての jar を追加したにもかかわらず)

これらの jar ファイルをプロジェクトに正常に追加して使用するにはどうすればよいですか?

エクリプス

Web 開発者向けの Eclipse Java EE IDE。
バージョン: Mars.1 リリース (4.5.1)
ビルド ID: 20150924-1200

ジャワ:

Java バージョン "1.8.0_60"
Java(TM) SE ランタイム環境 (ビルド 1.8.0_60-b27)

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

osgi - Bndtools および org.osgi.util.tracker パッケージ

Eclipse IDE で Bndtools を使用しています。それは素晴らしく、うまく機能します。bnd ファイルを編集して osgi.core パッケージを「ビルド パス」に追加できます (bndtools リポジトリを使用します)。今、org.osgi.util.tracker パッケージが必要ですが、bnd ファイルを編集している「ビルド パス」で見つかりません。どうすればできますか?

ありがとう、パオロ

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

java - Bndtools プロジェクトの実行に失敗する

Eclipse IDE で Bndtools プロジェクトを実行しようとしましたが、成功しませんでした。こちら ( Bndtools のインストール)で説明されているように、Eclipse Marketplace からBndtools をインストールしました。次に、このチュートリアルをそのままBndtools Tutorial実行しようとしましたが、コンソールに出力できないようです。私は他のさまざまなプロジェクトを試しましたが、成功しませんでした。エラーはどこにもスローされません。

Bndtools のインストールにすべてのリポジトリが含まれているわけではないことを指摘しておく必要があります。特に、すべてのorg.apache.felix.dependencymanager依存関係が不足しています。エラーなしでBuild Repositories bundles グループにドラッグ アンド ドロップして、Eclipse リポジトリにそれらを正常に追加しました。

org.apache.felix.dependencymanager.annotation-4.0.3
org.apache.felix.dependencymanager.runtime-4.0.2
org.apache.felix.dependencymanager.shell-4.0.3
org.apache.felix.dependencymanager-4.2.0

自分のプロジェクトが他のプロジェクトのように実行されないのはなぜですか? Bndtools プロジェクトを正常に動作させる前に、他に何かしなければならないことはありますか?

エクリプス

Web 開発者向けの Eclipse Java EE IDE。
バージョン: Mars.1 リリース (4.5.1)
ビルド ID: 20150924-1200

ジャワ:

Java バージョン "1.8.0_60"
Java(TM) SE ランタイム環境 (ビルド 1.8.0_60-b27)

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

osgi - OSGi コンパニオン バンドルが必要ですか?

Bndtools に基づいて、Eclipse に 2 つの異なるプロジェクトがあります。1 つ目は、次のマニフェストで JAR を生成します。

2 番目には、次のマニフェストがあります。

2 つのプロジェクトには osgi.cmpn が必要です。1 つ目は ServiceTracker (パッケージ org.osgi.util.tracker) 用、2 つ目は ManagedService (パッケージ org.osgi.service.cm) 用です。

最初のプロジェクトはうまく機能します。問題なくバンドルをインストールして開始します。2 番目のプロジェクトからバンドルをインストールできますが、開始すると次のエラーが表示されます。

どうしたの ?両方のプロジェクトに osgi.cmpn JAR が必要な場合...なぜ最初のプロジェクトが開始時にこのエラーをスローしないのですか?

ありがとう、パオロ。

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

osgi - Eclipse での Bndtools を使用した Apache Felix FileInstall 構成

Eclipse Mars で Bndtools プラグインを使用しています。プロジェクトでは、Apache FileInstall バンドルが必要であり、実行記述子の下の「実行要件」で選択しました。バンドルはアクティブです。

ポーリング、構成ファイルを監視するディレクトリなどの FileInstall の現在のパラメーターを取得する方法を理解できないため、ManagedService を実装するクラスの構成ファイルをどこに置くべきかわかりません。

VM引数の下に次の行を追加しようとすると...

-Dfelix.fileinstall.dir=/home/ppatierno/Downloads

Config Admin サービスは、数秒後に停止状態になります。

「実行要件」の下に FileInstall バンドルを追加せずに、Apache felix コンソールからインストールして起動すると、起動してアクティブになりますが、プロパティの上にメイン構成が出力されません。

何か案が ?

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

java - bndtools を使用してデフォルト パッケージからインポートするサード パーティの jar をラップする

サードパーティの瓶を包みたい。残念ながら、ベンダーは、1 つのメソッドを持つ 1 つのクラス (a.class) をデフォルト パッケージに配置しました。

を使用してリソースを含めようとするとInclude-Resource: @lib/acme-8.0.jar、次のエラーが発生します。

bnd print -all acme-8.0.jar次の出力が得られます (短縮され、ベンダー名が acme に置き換えられます)

この出力を正しく理解していれば、いくつかのパッケージがデフォルトのパッケージを使用しています。それはどのように可能ですか?私の知る限り、デフォルトのパッケージからクラスをインポートすることはできません。

問題のあるクラスを移動するように要求して、既にベンダーに連絡しました。おそらく、彼は私の提案に従わないだろう.

デフォルト パッケージのクラスを処理するための回避策はありますか?

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

java - API バンドルを実装するライブラリ バンドルは、API パッケージをエクスポートする必要がありますか?

他のバンドルを使用するバンドルの大きなツリーがあります。例えば:

  • 基本バンドルは API バンドルを使用します。
  • API バンドルは純粋な API バンドルです
  • 基本バンドルは API バンドルを使用し、ライブラリ バンドルです (便利なライブラリ関数、他のバンドルが使用できます)
  • API バンドルは API パッケージをエクスポートします
  • 基本バンドルは基本パッケージをエクスポートします。基本バンドルは、API バンドルから API パッケージもエクスポートします。

基本バンドルで API パッケージもエクスポートできるようにするのは正しいですか?

これを行ったのは、ユーザーがベース バンドルをビルド パスに追加するだけでよく、ベース + API バンドルが bndtools によって検出されるためです。それ以外の場合、ベース バンドルを使用するユーザーは、ベース バンドルがビルドパスに追加する必要がある API バンドルを使用していることを理解する必要があります。

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

java - バージョン修飾子を使用して、OSGi で特定のパッケージ バージョンを要求することはできますか?

ラップしたいサードパーティの JAR があります。独自の OSGi マニフェストがありません。たとえば、org.myproject. そこで、バンドル ラッパーを作成します。

これは問題なく動作します - のリリース用のバージョンを提供しorg.myprojectます。これは、 の作成者によって決定されorg.myprojectます。と言う1.0.1

が変更されましorg.myprojectた。変更を含めたいと思います。ただし、これに関する公式リリースはありません。これは、修飾子を使用して新しいバージョンを表すことができるように思えます。1.0.1.$timestamp

ただし、JAR を bndtools でラップする場合、パッケージのエクスポートは引き続き としてバージョン管理され1.0.1ます。

OSGi で修飾子固有のパッケージ バージョンをエクスポートしてからインポートすることは可能ですか? これを bndtools で管理する最善の方法は何ですか?