私は他のバンドルが頼りにしたいバンドルとしていくつかのjarをラップしようとしています。 Spring dm Serverでは、新しいバンドルプロジェクトにjarファイルを追加し、すべてのクラスをエクスポートし、jarファイルがビルドパスとクラスパスにあることを確認するだけでした。jarを持つバンドルから乙女座の依存関係を解決する
は、ここで私がやろうとしている(と私は失敗してるところ)何の簡単な、標準的な例です:
テイクを、例えば、ジョダ時間は、私は私ができるのバンドルでこれを希望しますそれを依存として共有する。まず、私はjarファイルを保持するためのバンドルを作成します。
- 新しいバンドル・プロジェクトのEclipse(インディゴのJava EE)
- が
- ジョダ-時間-1.6の追加プロジェクトのルートにフォルダ「LIB」を作成を作成します。 "LIB" フォルダ
- に.1.jarビルド・パスにクラスのすべてをエクスポートする
更新のsrc/META-INF/MANIFEST.MFをlibに/ジョダ-時間-1.6.1.jarを追加します。
Manifest-Version: 1.0 Bundle-Version: 1.0.0 Bundle-Name: joda-time Bundle-ManifestVersion: 2 Bundle-SymbolicName: org.joda.time Bundle-ClassPath: lib/joda-time-1.6.1.jar, . Export-Package: org.joda.time, org.joda.time.base, org.joda.time.chrono, org.joda.time.convert, org.joda.time.field, org.joda.time.format, org.joda.time.tz
は今、私たちは、私たちが作成したいくつかの新しいバンドルでこれを使用する:
- Eclipseで新しいバンドル・プロジェクト(インディゴのJava EE) "MyDepTest"
編集のsrc/METAを作成します。 org.joda.timeをインポートする-INF/MANIFEST.MF:
Manifest-Version: 1.0 Bundle-Version: 1.0.0 Bundle-Name: MyDepTest Bundle-ManifestVersion: 2 Bundle-SymbolicName: com.foo.deptest Import-Package: org.joda.time Import-Bundle: org.joda.time;version="[1.0.0,1.0.0]"
プロジェクトにorg.joda.timeバンドルを追加so Eclipse can resolve the depenencies
を参照
は、クラスを書く:
package com.foo.deptest; import org.joda.time.DateTime; public class SimpleDepTest { public SimpleDepTest(){ DateTime dt = new DateTime(); } }
さて、org.joda.time.DateTime
が解決する必要がありますが、Eclipseは輸入org.jodaが
org.joda
に赤い下線と、次のエラーを示し
どこが間違っていますか? jarをバンドルとしてラップして、他のバンドルのクラスを使用できるようにするにはどうすればよいですか?