問題がどこにあるのかわかりません。私は XJC を疑っていますが、それはjaxb2-maven-plugin
withinによって駆動されているmaven
ため、解凍するレイヤーがいくつかあります。
XSDのフォルダーをコンパイルしていますが、各ファイルを2回処理しているようです.1回は実際のファイル名で、もう1回はわずかに変更されたファイル名です。[ちなみに、これは OSX 上にありますが、大文字と小文字を区別するファイルシステムの問題ではないと思います (後で説明します)。]
の関連部分は次のpom.xml
とおりです。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>xjc</id>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<schemaDirectory>src/main/resources</schemaDirectory>
</configuration>
</plugin>
にsrc/main/resources
は次の XSD が含まれています。
ATIS_03_00_74_Local.xsd ITIS_Final_3_0_0.xsd LRMS_Final_09_07.xsd TCIP_4_0_0_Final.xsd
ATIS_Partial_03_00_74.xsd ITIS_Final_3_0_0_for_atis.xsd LRMS_Final_09_07_for_atis.xsd TCIP_4_0_0_Local.xsd
IM_03_00_38_Local.xsd ITIS_Local_for_atis.xsd LRMS_Final_09_07_for_im.xsd TMDD_Partial_0_0_0.xsd
IM_Partial_03_00_38.xsd ITIS_Local_for_im.xsd LRMS_Local_for_atis.xsd
ITIS_3_0_0_Local.xsd LRMS_09_07_Local.xsd LRMS_Local_for_im.xsd
を実行するmaven
と、次のような単一のファイルで失敗します。
[ERROR] file:/Users/dhaskin/clients/cs/onebusaway-nyc/onebusaway-nyc-tcip-api/src/main/resources/atis_Partial_03_00_74.xsd[35,50]
org.xml.sax.SAXParseException: 'RouteRequest' is already defined
...
[ERROR] file:/Users/dhaskin/clients/cs/onebusaway-nyc/onebusaway-nyc-tcip-api/src/main/resources/ATIS_Partial_03_00_74.xsd[22,38]
org.xml.sax.SAXParseException: (related to above error) the first definition appears here
...
最初のエラーのファイル名は存在しないことに注意してください。これは、アンダースコアで区切られた最初の単語が小文字に変換された 2 番目のファイル名 (存在する) と同じです (ただし、2 番目の単語 ,Partial
は変更されないことに注意してください)。
出力を見るとmaven -X
、これを行っているのは XJC 自体であると確信していますが、修正方法をまだ特定できていません。
このプロジェクトは、より大きなプロジェクトのサブプロジェクトであることに注意してください。ただしmaven
、それは関係ないと思います。maven
親プロジェクトの私のコマンド ラインは次のとおりmvn -X -U install -pl onebusaway-nyc-tcip-api
です。(onebusaway-nyc-tcip-api
はこのサブプロジェクトです。)