2013-04-02 121 views
-1

我想生成的Java類BT soome如何每當我運行的代碼它顯示的錯誤JAXB2,Maven插件

沒有模式已發現...這裏是代碼...請幫助...

<plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.5.1</version> 
      </plugin> 

      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>jaxb2-maven-plugin</artifactId> 
       <executions> 
        <execution> 
         <goals> 
          <goal>xjc</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 

        <schemaDirectory>src/main/resources/xsd</schemaDirectory> 
        <includeSchema>**/*.xsd</includeSchema> 
        <!-- <generatepackage>org.onesync.esb.datasync.model</generatepackage> --> 
        <!-- The package in which the source files will be generated. --> 
        <packageName>org.onesync.esb.datasync.model</packageName> 
        <!-- The working directory to create the generated java source files. --> 
        <outputDirectory>src/main/java/org/onesync/esb/datasync/model</outputDirectory> 

       </configuration> 
      </plugin> 
     </plugins> 
+0

你確定定義的模式目錄是正確的,該架構的格式正確等? – Ren

+0

你有沒有試過直接運行xjc? (例如,不使用maven插件) – iX3

回答

0

我不認爲<includeSchema>**/*.xsd</includeSchema>jaxb2-maven-plugin:xjc儘量省略該參數有效語法。

如果不指定schemaFiles,它應該使用schemaDirectory中的所有XSD文件。 「

」schemaFiles - 用於模式的文件列表,逗號分隔如果沒有,則所有的xsd文件都用在schemaDirectory中,該參數也接受Ant風格的文件模式。(請參閱jaxb2-maven-plugin documentation

順便說一句,使用maven的配置參數來引用目錄通常是一個好主意。例如,將<schemaDirectory>src/main/resources/xsd</schemaDirectory>更改爲<schemaDirectory>${project.basedir}/src/main/resources/xsd</schemaDirectory>。最後,你可能也想參考this similar SO post

0

我也使用maven配置,花費幾乎編譯項目的東西。後來我才知道它正在尋找模式文件,即schema.xsd。

如果您使用的是MAVEN配置,那麼默認情況下,您可以將架構文件放在資源目錄下。

但是,如果你想指定查找模式文件,那麼你可以使用插件配置schemaDescriptionincludeSchema標記您的路徑。

       OR 

您也可以使用效率pom來搜索特定標籤。

命令在Maven的有效POM:MVN幫助:有效-POM

感謝

相關問題