問題タブ [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.
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 行目 ( ) にあります。
何が問題なのですか?よろしくお願いします。
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)
osgi - Bndtools および org.osgi.util.tracker パッケージ
Eclipse IDE で Bndtools を使用しています。それは素晴らしく、うまく機能します。bnd ファイルを編集して osgi.core パッケージを「ビルド パス」に追加できます (bndtools リポジトリを使用します)。今、org.osgi.util.tracker パッケージが必要ですが、bnd ファイルを編集している「ビルド パス」で見つかりません。どうすればできますか?
ありがとう、パオロ
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)
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 が必要な場合...なぜ最初のプロジェクトが開始時にこのエラーをスローしないのですか?
ありがとう、パオロ。
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 コンソールからインストールして起動すると、起動してアクティブになりますが、プロパティの上にメイン構成が出力されません。
何か案が ?
java - bndtools を使用してデフォルト パッケージからインポートするサード パーティの jar をラップする
サードパーティの瓶を包みたい。残念ながら、ベンダーは、1 つのメソッドを持つ 1 つのクラス (a.class) をデフォルト パッケージに配置しました。
を使用してリソースを含めようとするとInclude-Resource: @lib/acme-8.0.jar
、次のエラーが発生します。
bnd print -all acme-8.0.jar
次の出力が得られます (短縮され、ベンダー名が acme に置き換えられます)
この出力を正しく理解していれば、いくつかのパッケージがデフォルトのパッケージを使用しています。それはどのように可能ですか?私の知る限り、デフォルトのパッケージからクラスをインポートすることはできません。
問題のあるクラスを移動するように要求して、既にベンダーに連絡しました。おそらく、彼は私の提案に従わないだろう.
デフォルト パッケージのクラスを処理するための回避策はありますか?
java - API バンドルを実装するライブラリ バンドルは、API パッケージをエクスポートする必要がありますか?
他のバンドルを使用するバンドルの大きなツリーがあります。例えば:
- 基本バンドルは API バンドルを使用します。
- API バンドルは純粋な API バンドルです
- 基本バンドルは API バンドルを使用し、ライブラリ バンドルです (便利なライブラリ関数、他のバンドルが使用できます)
- API バンドルは API パッケージをエクスポートします
- 基本バンドルは基本パッケージをエクスポートします。基本バンドルは、API バンドルから API パッケージもエクスポートします。
基本バンドルで API パッケージもエクスポートできるようにするのは正しいですか?
これを行ったのは、ユーザーがベース バンドルをビルド パスに追加するだけでよく、ベース + API バンドルが bndtools によって検出されるためです。それ以外の場合、ベース バンドルを使用するユーザーは、ベース バンドルがビルドパスに追加する必要がある API バンドルを使用していることを理解する必要があります。
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 で管理する最善の方法は何ですか?