2

Axis (1.4) Web サービス (Tomcat 6.0.20 で実行) があり、別のプロジェクトのクラスを使用しようとするまで正常に動作しています。

Web サービス プロジェクトと、ビジネス ロジックを含む別のプロジェクトがあります。ビジネス ロジック プロジェクトをプロジェクトの依存関係/参照として Web サービス プロジェクトに追加しました。

package MyProject.services;
import BusinessLogic.Core.TestClass;

    public class MyServiceImpl implements MyProject.services.MyServiceImpl_PortType {

    public java.lang.String getServerStatus() throws java.rmi.RemoteException {
             //BusinessLogic.Core.TestClass core = new BusinessLogic.Core.TestClass();
             return "This is working fine!";
    }
}

上記のメソッドを呼び出すと、すべて正常に動作します。ただし、getServerStatus() の行のコメントを外すと、NoClassDefFoundException が発生します。

もちろん、コードは正常にコンパイルされており、私が見る限り、すべての依存関係を追加しています。TestClass には、"Hello" を出力するコンストラクターのみがあり、他の依存関係はありません。

私はJava Webサービスに比較的慣れていないので、おそらく私が犯したばかげた間違いです。あなたはなにか考えはありますか?

4

3 に答える 3

2

あなたはそれらを異なるプロジェクトに持っていると言います。これが Tomcat 内の WAR ファイル/フォルダーを意味する場合、問題は、1 つの Web アプリケーションが他の Web アプリケーション (クラスパスを含む) を直接見ることができないことである可能性があります。

そうでない場合は、質問を編集して、表示されるものと期待するものについて非常に具体的にします。

于 2009-07-17T08:10:18.100 に答える
1

これをどのように構築および展開するかについては述べていません。TestClass はどこかの jar ファイルにありますか? その場合、jar ファイルはデプロイされたシステムのどこにあり、Web サービス クラスはどのようにデプロイされますか?

于 2009-07-17T06:48:28.593 に答える