3

Eclipse プラグイン コードを編集しています。初心者なのであまり詳しくありません。atmを実行させようとしているだけです。

プログラムを実行すると、ClassNotFoundExceptionがスローされます。プロジェクトのビルドパスにpuakma.jarファイルを含め、SOAPパッケージ内の jar ファイルにクラスが存在することも確認しました。考えられる問題は何ですか?

スタックトレースは次のとおりです。

java.lang.NoClassDefFoundError: puakma/SOAP/SOAPFaultException
    at puakma.coreide.ServerManager.createServerConnection(ServerManager.java:120)
    at puakma.vortex.dialogs.server.AppSelectionDialog.listApplications(AppSelectionDialog.java:284)
    at puakma.vortex.dialogs.server.AppSelectionDialog$6.run(AppSelectionDialog.java:234)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: java.lang.ClassNotFoundException: puakma.SOAP.SOAPFaultException
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 4 more
4

2 に答える 2

3

Eclipse プラグインの場合、以下のように対応する jar をクラスパスに追加する必要があります。

  1. plugin.xml を開く
  2. ランタイムタブに移動
  3. クラスパス セクションで [追加] をクリックし、プロジェクトの下のフォルダー (たとえば、lib の下) に配置した jar ファイルを選択します。
  4. プロジェクトをクリーンアップしてビルドします

これを行うと、対応するエントリが次のように MANIFEST.MF に追加されます。

Bundle-ClassPath: lib/foobar.jar,
.

Eclipse プラグインでクラスパスに jar を追加する方法は、OSGi に基づいているため、通常の Java プロジェクトとは異なります。

このリンクから、Eclipse プラグインのクラスパスについて詳しく知ることができます。お役に立てれば。

于 2013-06-30T06:51:30.967 に答える