2014-05-08 29 views
2

我知道這個問題已被反覆詢問,並且總是出現Eclipse Maven JIXB問題。我認爲它沒有得到解決。無法訪問類的綁定信息

當我嘗試測試我的代碼,我得到以下錯誤

Unable to access binding information for class com.generated.xml.addbooking.Request 
Make sure the binding has been compiled 
java.lang.NoSuchFieldException: JiBX_bindingList 
    at java.lang.Class.getDeclaredField(Class.java:1882) 
    at org.jibx.runtime.BindingDirectory.getBindingList(BindingDirectory.java:68) 

現在我已經生成的POJO和使用下面的POM已經產生了binding.xml文件。

<plugin> 
    <groupId>org.jibx</groupId> 
    <artifactId>jibx-maven-plugin</artifactId> 
    <version>1.2.5</version> 
    <executions> 
    <execution> 
     <id>schemata-a</id> 
     <goals> 
     <goal>schema-codegen</goal> 
     </goals> 
     <configuration> 
     <schemaLocation>src/main/resources/schemas</schemaLocation> 
     <includeSchemas> 
      <includeSchema>AddBookingRequest.xsd</includeSchema> 
     </includeSchemas> 
     <schemaBindingDirectory>src/main/java</schemaBindingDirectory> 
     <includeSchemaBindings> 
      <includeSchemaBindings>binding.xml</includeSchemaBindings> 
     </includeSchemaBindings> 
     <options> 
      <package>com.generated.xml.addbooking</package> 
     </options> 
     </configuration> 
    </execution> 
    <execution> 
     <id>schemata-b</id> 
     <goals> 
     <goal>schema-codegen</goal> 
     </goals> 
     <configuration> 
     <schemaLocation>src/main/resources/schemas</schemaLocation> 
     <includeSchemas> 
      <includeSchema>SearchHotelPriceRequest.xsd</includeSchema> 
     </includeSchemas> 
     <schemaBindingDirectory>src/main/java</schemaBindingDirectory> 
     <includeSchemaBindings> 
      <includeSchemaBindings>binding.xml</includeSchemaBindings> 
     </includeSchemaBindings> 
     <options> 
      <package>com.generated.xml.searchhotel</package> 
     </options> 
     </configuration> 
    </execution> 
    <execution> 
     <id>compile-binding</id> 
     <goals> 
     <goal>bind</goal> 
     </goals> 
     <configuration> 
     <schemaBindingDirectory>src/main/java</schemaBindingDirectory> 
     <includes> 
      <include>binding.xml</include> 
     </includes> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

正如您所看到的POJO已生成,會生成binding.xml,但由於某種原因綁定未運行?

+0

需要添加其他插件,以確保行家對編譯1.5或以上爲綁定使用泛型。 –

回答

0

由於某些原因,需要添加另一個插件到1.5或更高版本,maven 2插件正在編譯1.3。導致使用泛型的綁定問題。

添加以下到我的插件

  <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <compilerArgument></compilerArgument> 
       </configuration> 
      </plugin>