2011-07-04 5 views
0

私は他のバンドルが頼りにしたいバンドルとしていくつかのjarをラップしようとしています。 Spring dm Serverでは、新しいバンドルプロジェクトにjarファイルを追加し、すべてのクラスをエクスポートし、jarファイルがビルドパスとクラスパスにあることを確認するだけでした。jarを持つバンドルから乙女座の依存関係を解決する

は、ここで私がやろうとしている(と私は失敗してるところ)何の簡単な、標準的な例です:

テイクを、例えば、ジョダ時間は、私は私ができるのバンドルでこれを希望しますそれを依存として共有する。まず、私はjarファイルを保持するためのバンドルを作成します。

  1. 新しいバンドル・プロジェクトのEclipse(インディゴのJava EE)
  2. ジョダ-時間-1.6の追加プロジェクトのルートにフォルダ「LIB」を作成を作成します。 "LIB" フォルダ
  3. に.1.jarビルド・パスにクラスのすべてをエクスポートする
  4. 更新の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 
    

は今、私たちは、私たちが作成したいくつかの新しいバンドルでこれを使用する:

  1. Eclipseで新しいバンドル・プロジェクト(インディゴのJava EE) "MyDepTest"
  2. 編集の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]" 
    
  3. プロジェクトにorg.joda.timeバンドルを追加so Eclipse can resolve the depenencies

  4. を参照
  5. は、クラスを書く:

    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をバンドルとしてラップして、他のバンドルのクラスを使用できるようにするにはどうすればよいですか?

答えて

1

jarをクラスパスに追加するだけでは不十分であり、ビルドパスの一部であることも確認する必要があります。これは、ビルド構成]ダイアログボックスで行われます。

  1. 右マウスクリックをプロジェクトの輸出依存関係
  2. を選択し、「プロパティ」を
  3. を選択し、「Javaのビルド・パス」「注文とエクスポート」タブへ
  4. ゴー
  5. jarの横にあるチェックボックスがオンになっていることを確認します(これにより、jarファイル自体がビルドパス上に表示されます)
関連する問題