Аннонс JAXB и получение ошибки java.lang.NoSuchMethodError: com.sun.codemodel.JAnnotatable.annotations()Ljava/util/Collection

Привет, я использую JAXB annox с ant xjc и получаю следующую ошибку
C:_Dev\build\abcSupplierDomain.xml:479: java.lang.NoSuchMethodError:

com.sun.codemodel.JAnnotatable.annotations()Ljava/util/Collection;
        at org.jvnet.jaxb2`enter code here`_commons.plugin.annotate.Annotator.annotate(Annotator.java:62)
        at org.jvnet.jaxb2_commons.plugin.annotate.AnnotatePlugin.annotate

Может ли кто-нибудь сказать мне, в чем причина этой ошибки? Я загрузил все jar-файлы JAXB 2. * для этого, поскольку org.jvnet.jaxb2_commons.xjc.XJC2Task поддерживается в jaxb2-basics-annotate-0.6.4.

Ниже мой файл xjb и build.xml

build.xml

<xjc schema="serviceDescription/atlantis/v2/com.abc.e3.ss.lodging.lodginginterface.messages.availsummary.v2.xsd" 
            destdir="${src.gen.dir}" extension="true" removeoldoutput="true"
            binding="build/annoxBindings.xjb">
          <arg value="-Xannotate" />
          <arg value="-episode" />
          <arg value="${src.gen.dir}/LodgingInterface-AvailSummary_v2.episode" />
          <produces dir="${src.gen.dir}/com/abc/e3/ss/lodging/lodginginterface/messages/availsummary/defn/v2" includes="**/*.java" />
             <binding dir="${src.gen.dir}">
                            <include name="BaseTypes.episode"/>
                            <include name="TimeTypes.episode"/>
                            <include name="PlaceTypes.episode"/>
                            <include name="PersonTypes.episode"/>
                            <include name="FinanceTypes.episode"/>
                            <include name="MessageTypes.episode"/>
                            <include name="ErrorTypes.episode"/>
                            <include name="LodgingInterface-CommonTypes_3.episode"/>
                            <include name="LodgingInterface-AvailSummaryTypes_v2.episode"/>
                        </binding>
        </xjc>

мой xjb-файл

<?xml version="1.0" encoding="UTF-8"?> 
<jaxb:bindings
  xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:annox="http://annox.dev.java.net"
  xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
  jaxb:version="2.1"
  jaxb:extensionBindingPrefixes="annox">

  <jaxb:bindings schemaLocation="file:/C:/SubversionProjects/sharedComponents/abcSupplierDomain_Dev/serviceDescription/atlantis/v2/com.expedia.e3.ss.lodging.lodginginterface.messages.availsummary.v2.xsd">
    <jaxb:bindings node="//xs:complexType[@name='AvailSummaryRequestType']">
      <annox:annotate>
        <annox:annotate
           annox:class="javax.xml.bind.annotation.XmlRootElement"
           name="AvailSummaryRequest" />
    </annox:annotate>
    </jaxb:bindings>
  </jaxb:bindings>

</jaxb:bindings>

person user1631733    schedule 29.08.2012    source источник
comment
Вероятно, неправильная версия JVM. Опубликуйте журнал java -version и попробуйте обновить установку Java.   -  person lexicore    schedule 29.08.2012
comment
наша версия Java 6.0.29. после того, как я откатил банку jaxb2-basics-annotate0.6.4 до банки jaxb-basics-annotate0.5.3, это сработало. так же, как с jaxb2-basics-ant и jaxb2-basics-tool jar. Я использую jaxb-api и jaxb-impl, а также более старые версии.   -  person user1631733    schedule 30.08.2012
comment
Ниже приведена версия java C:\SubversionProjects\SupplierDomain_Dev\build›java -version java версии 1.6.0_30 Java(TM) SE Runtime Environment (сборка 1.6.0_30-b12) Java HotSpot(TM) 64-разрядная виртуальная машина сервера (сборка 20.5- b03, смешанный режим)   -  person user1631733    schedule 03.09.2012


Ответы (1)


jaxb2-basics-annotate 0.6.4 требует JAXB 2.2.x, похоже, вы используете более старую версию JAXB 2.

person Arnoud    schedule 17.01.2013