4

EquinoxとFelixの両方で使用するOSGiバンドルを構築しようとしています。一部のバンドルは、javax.netなどのjavax。*パッケージを使用しています。

JREはそのパッケージを提供しますが、問題はありません。両方のフレームワークで機能します。

Felixでは、そのパッケージをMANIFEST.MFにインポートする必要があります。

Import-Package: javax.net

java。*パッケージのみを暗黙的に含める必要があるため、これは理にかなっています。どういうわけか、Equinoxはどちらの方法でも問題ありませんが、とにかく魔法のようにそれらを見つけるようです。

私の問題は、Tychoでビルドするときに発生します。そのImport-Packageを追加すると、Tychoビルドが失敗します。

Resolution errors:
   Bundle com.dexels.mybundle - Missing Constraint: Import-Package: javax.net; version="0.0.0"

つまり、一言で言えば、インポートパッケージがないと、Felixは失敗し、Tychoは失敗します。

システムバンドルフラグメントを使用したこの種の回避策を認識していますが、これに頼る必要がないことを本当に望んでいます。

これらのパッケージをTychoに追加する方法はありますか?

org.osgi.framework.system.packages.extraのようなものを使用できますか?

ありがとう、フランク

4

1 に答える 1

3

このパッケージを提供するJDKでBundle-RequiredExecutionEnvironmentヘッダーを指定すると、tychoはパッケージを解決できるはずです。

https://bugs.eclipse.org/bugs/show_bug.cgi?id=371565に遭遇する可能性があります

その場合は、tycho0.15.0が必要になります。http: //wiki.eclipse.org/Tycho/Release_Notes/0.15を参照してください。

于 2012-04-26T19:04:16.170 に答える