-1

ウィザードを持つEclipseプラグインに取り組んでいます。このウィザードは、Java エディタでマウスを右クリックしてコンテキスト メニューから使用できます。

ウィザードは、次のような情報を収集します。

  • WSDL ファイルの場所
  • パッケージ名

ウィザードが終了したら、先ほど提供したパッケージに生成された WSDL に記述された Web サービスのスタブを入れたいと考えています。

問題は、どうすれば動的にソース コードから (コマンド ラインからではなく) Web サービス スタブを生成し、それを現在のプロジェクトに追加できるかということです。

今まで、WSDL2Java (Axis)、Apache CXF、および wsimport に出会いました。Apache CXF と wsimport を使用しようとしていますが、すべての jar がビルドパスに含まれているにもかかわらず、常に ClassNotFoundException が発生します。私はそれらを間違って使用した可能性があると思います。

私を助けてください!そのタスクの時間がなくなっています :-(

ちょっとした例:

コードが(Apache CXF)であるとしましょう:

String[] args = {"-client", "-d", "D:\\test", "D:\test.wsdl" };
WSDLToJava w = new WSDLToJava(args);
ToolContext t = 新しい ToolContext();
w.run(t);

例外の最初の数行は次のとおりです。

java.lang.NoClassDefFoundError: org/apache/cxf/tools/wsdlto/WSDLToJava
    plugin.wsreplication.ui.wizard.component.AddComponentWizard.performFinish (AddComponentWizard.java:160) で
    org.eclipse.jface.wizard.WizardDialog.finishPressed (WizardDialog.java:752) で
    plugin.wsreplication.ui.wizard.component.AddComponentWizardDialog.finishPressed (AddComponentWizardDialog.java:39) で
    org.eclipse.jface.wizard.WizardDialog.buttonPressed (WizardDialog.java:373) で
    org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) で
    org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:228) で
    org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) で
    org.eclipse.swt.widgets.Widget.sendEvent (Widget.java:1003) で
    org.eclipse.swt.widgets.Display.runDeferredEvents (Display.java:3910) で
    org.eclipse.swt.widgets.Display.readAndDispatch (Display.java:3503) で
    org.eclipse.jface.window.Window.runEventLoop(Window.java:825)で
    org.eclipse.jface.window.Window.open(Window.java:801) で
    plugin.wsreplication.ui.action.AddComponentAction.run(AddComponentAction.java:35) で
    org.eclipse.ui.internal.PluginAction.runWithEvent (PluginAction.java:251) で
4

3 に答える 3

0

cxf-toolsがクラスパスにないように私には聞こえます。

EclipseプラグインとOSGiでどのように機能するか、プラグインのクラスパスを正確に指定する方法はわかりませんが、CXFJARがクラスパスのどこにあるかを指定できる必要があります。

于 2010-06-28T21:02:16.140 に答える
0

プラグインの環境設定中にエラーが発生したようです。詳細については、このリストを確認してください。エラーが消えない場合は、 で実際のクラスパスを割り出してみてくださいSystem.getProperty("java.class.path")。jar が本当にクラスパス上にある場合、問題は Eclipse 自体にある可能性があります。

于 2010-06-28T22:41:46.753 に答える
0

同じ問題がありました。スタックオーバーフローでこの質問に出くわしました。日食を再起動するとすぐに問題は解決しました。

この問題は、Eclipse で設定されていない Apache CXF jar が原因でした。CXFのホームパスがEclipseに設定されたら。jar を取得するには、Eclipse を再起動する必要があります。これが同じ問題に直面している人にとって役立つことを願っています。

于 2012-12-14T09:49:34.123 に答える