2012-02-29 19 views
0

私のビルドしたマルチモジュールプロジェクトでJAXBに奇妙な問題があります。 私のコンポーネントの1つが、JAXBを使用してBPMN 2.0 XMLを作成します。クラスを自分で作成するのではなく、そのモジュール内JAXB in mavenマルチモジュール

<dependency> 
    <groupId>org.ow2.orchestra.designer</groupId> 
    <artifactId>bpmn-jaxb-model</artifactId> 
    <version>4.9.0</version> 
    <scope>compile</scope> 
</dependency> 

テストのすべての罰金実行して、私が作成したXMLファイルとその内容を見ることができますを使用していませんでした。

第2のモジュールは、プロトタイプのWebFrontendを表します。 これは最初のコンポーネントを依存関係として持ち、それを使用します。

私はその後、WebFrontendからBPMN 2.0 XMLを作成するメソッドを呼び出すと、 下図のように、私は持つJAXBExceptionを得る:

javax.xml.bind.JAXBException: "org.ow2.orchestra.jaxb.bpmn" doesnt contain ObjectFactory.class or jaxb.index 
    at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:186) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    ... 

どのようにそれはそれJAXBは1つのMavenのモジュールで正常に動作することもできますが、そのモジュールが別の場所で使用されているときではありませんか?

誰でも私に指針を与えることができますか?

EDIT:Netbeansの依存関係を調べると、ObjectFactory.classが正しいパッケージ内の正しいパッケージに表示されていることがわかります。 これは多分、奇妙なJettyの問題ですか?

+0

ウェブアプリケーションに依存関係がないようです。 'mvn dependency:tree 'を試してください。おそらく、これはいくつかの光を放つでしょう。 – lexicore

答えて

0

これらのタイプの問題は、通常、バージョンの競合を引き起こします。mvn依存関係を実行します。各モジュールのツリーを作成し、依存関係を比較します。

矛盾がない場合は、Eclipseでモジュールを一度に1つずつ読み込み、cntrl-shit-tを実行してクラス名を入力します。異なる瓶から同じクラスをロードできますか?すべてのモジュールが開いているのはどうですか?

+0

両方のモジュールで依存関係が同じです。私は多分何かがそれをパッケージ化する時点でJARに引っ張られないということです... – DodoFXP

0

私はこの問題を解決しました。 最初のモジュールで依存関係を「提供」として宣言し、WebAppのpom.xmlの依存関係に追加しました。私は本当にそれが好きではありませんが、私は時間がなくなっているので、これは私が現在得ることができる最高の修正です。

関連する問題