誰かがこの問題を経験したことがあり、おそらくいくつかの光を当てることができることを願っています.
xml スキーマと ant ビルド ファイルがあります。同じ jaxb-xjc.jar を使用して xml コンパイルを行っている場合でも、Windows と Mac で ant を実行すると、出力 .java ファイルが異なります。Windows 側では、属性の「getter」メソッドを「getX」と名付けています。Mac 側は、それらを「isX」と名付けたいと考えています。以前にこのようなことを経験したり、解決策を持っている人はいますか? これは、Windows Vista および 7 でこれを行う方法と、Mac OSX 10.6 および 10.7 (Mac OSX 10.8 でテストされていない) で行う方法との間で一貫しています。
- - 編集 - -
ant build.xml ファイルのコードの一部を添付します。
xjcが何であるかを伝えます。
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
<classpath refid="classpath"/>
</taskdef>
「実際の」コンパイルは次のとおりです。
オートマトン スキーマのコンパイル
<echo>Compiling old automaton schema</echo>
<xjc schema="${oldxml-schema}" destdir="${src.dir}" package="${oldxml.package}">
<produces dir="${oldxml-gen.dir}" includes="**/*.java"/>
</xjc>
<echo>Compiling the plugin schema</echo>
<mkdir dir="${plugin-gen.dir}" />
<xjc schema="${plugin-schema}" destdir="${src.dir}" package="${plugin.package}">
<produces dir="${plugin-gen.dir}" includes="**/*.java"/>
</xjc>
<echo>Compiling the pluginDesumaSide schema</echo>
<mkdir dir="${pluginDesumaSide-gen.dir}" />
<xjc schema="${pluginDesumaSide-schema}" destdir="${src.dir}" package="${pluginDesumaSide.package}">
<produces dir="${pluginDesumaSide-gen.dir}" includes="**/*.java"/>
</xjc>
</target>
すべてのターゲット (つまり、${} のようなものを意味します) が定義され、Mac が「getter」メソッドを変数の「is」メソッドとして命名することを除いて、すべてのリンクとコンパイルが正しく行われます。これらはブール属性であり、指定されていない場合はデフォルトがあります。