2009-08-04 11 views
5

私はランタイム依存関係としてapache vfs jarファイルを追加しようとしました。 org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:489)でorg.apache.commons.vfs.VFS :eclipse rcpアプリケーションに外部jarを追加するにはどうしたらいいですか?

にjava.lang.ClassNotFoundException:それは、以下のエラーがスローされますにもかかわらず、 (BundleLoader.java:403) at org.eclipse.osgi file_explorerでjava.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) でjava.lang.ClassLoader.loadClass(ClassLoader.java:251) で.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105) .View.setInput(View.java:295) at file_explorer.View.initialize(View.java:130)

どうすればこの問題を解決できますか?

答えて

3

Eclipse RCPアプリケーションに外部Jarを組み込むための最良の方法は、プラグインとしてパッケージ化して、古典的なプラグインの依存関係を使用することです。

Jarだけを含む新しいプラグインを作成してください。次に、マニフェストエディタのビルドタブで、クラスパス(右下)にあなたのjarを追加し、この同じランタイムタブにすべてのパッケージをエクスポートします。また、[ビルド]タブでjarがチェックされていることを確認してください。

しかし、前に述べたようにクラスパスにのみ追加すると、Givenプラグインのソースコードでjarを使用できるはずです。

あなたのプラグインのいくつかの他は、VFSジャーを使用してや懸念のsepartionのための興味がある可能性がありますので、私はあなたが最も簡単な方法は、既存のOSGiバンドルでバンドルを見つけることである、独自のプラグイン

2

でそれをラップするべきだと思いますかまいリポジトリ。

http://bundles.osgi.org/Main/Repository 
http://www.springsource.com/repository/app/ 
http://www.eclipse.org/orbit/ 
http://www.knopflerfish.org/repo/index.html 

SpringSourceのレポを使用すると、ターゲットプラットフォームにバンドルを追加する必要がその後のapache VFSバンドル

が含まれている(あるいは単にdropinsフォルダにコピーします)を適切にバンドルをインストールするためには

eclipseの新しいバージョンでは、既存のp2リポジトリを使用し、p2リポジトリからランタイムプラットフォームにバンドルをインストールする必要があります。そこ二つの方法があります:あなたのプロジェクトに必要なjarファイルを追加することを探しているなら、あなたは(軌道P2レポのような)既存のものを使用することができ、またはhttps://docs.sonatype.org/display/TYCHO/How+to+make+existing+OSGi+bundles+consumable+by+Tycho

2

で説明したように、P2の出版社を使用して独自に作成することができclasspath.Add必要なファイルをプロジェクト構造のlibディレクトリにコピーします。プロジェクトから、plugin.xmlの「実行時」タブをクリックし、必要なjarファイルをlibディレクトリからプロジェクトクラスパスに追加します。

1

Eclipse RCPはJava依存モデルを拡張するOSGi環境であるため、単にjarファイルを取得して動作させることはできません。外部のjarファイルを使用するには、最初にプラグインにビルドする必要があります。このプラグインは、p2-maven-pluginが役に立ちます。Readmeドキュメントに従うことができます。

プラグインを準備したら、プラグインをインストールしてMANIFEST.MFに追加する必要があります。 Eclipseを再起動して、プラグインを動作させます。

より簡単な方法、あなただけ続く(ただし、jarファイルをビルドする)、プラグインをインストールする必要はありません。

  1. plugin.xmlに行く - >Runtimeタブ。
  2. セクションのAddをクリックし、プラグインをクラスパスに追加します。
  3. テキスト領域に.パスがあることを確認します。そうでない場合はNewです。
関連する問題