2016-07-01 13 views
0

私はCapgeminiの開発者です。私が開発しているJava EEアプリケーションに問題があります。java.lang.NoSuchMethodError:org/apache/axiom/om/OMFactory.createOMElement(Lorg/apache/axiom/om/OMDataSource;)Lorg/apache/axiom/om/OMSourcedElement;

プロジェクトのjunitテストでAxis2というWebサービスを呼び出すと動作します。私は(Mavenの依存関係を持つ)最初を指し、他のプロジェクトで同じメソッドを呼び出すと、私は自分のアプリケーションを起動したときしかし、私は次のエラーを持っている:

java.lang.NoSuchMethodError: org/apache/axiom/om/OMFactory.createOMElement(Lorg/apache/axiom/om/OMDataSource;)Lorg/apache/axiom/om/OMSourcedElement; 

は、誰もが私が間違っているのかのアイデアを持ってい?

さらに詳しい情報が必要な場合は、私にお尋ねください。

はあなたに

答えて

1

ありがとう誤りが目のプロジェクトは、最初のプロジェクトが期待するバージョンより古い公理ライブラリのバージョンで実行されることを意味します。次の理由が考えられます。

  • 2番目のプロジェクトを展開する実行環境には、独自のバージョンのAxiomがあります。例えば、 WebSphereにデプロイされたJava EEアプリケーションの場合です。

  • 2番目のプロジェクトは、最初のプロジェクトと異なるバージョンのAxiomライブラリに別の(直接的または間接的な)依存関係があり、Mavenはそのバージョンを選択します。 2番目のプロジェクトでmvn dependency:treeを実行すると、それを見ることができます。その場合は、dependencyManagementセクションをPOMに追加して、適切なバージョンを使用するようにします。