2013-04-02 3 views
-1

Я хочу генерироваться классы Java из XSD файлов Б.Т. 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, он должен использовать все файлы XSD в каталоге schemaDirectory.

«schemaFiles» Список файлов, которые будут использоваться для схем с разделителями-запятыми. Если нет, то все xsd-файлы используются в schemaDirectory. Этот параметр также принимает шаблоны файлов Ant-стиля. " (см. jaxb2-maven-plugin documentation)

BTW, обычно полезно использовать параметры конфигурации maven для ссылки на каталог. Например, измените <schemaDirectory>src/main/resources/xsd</schemaDirectory> на <schemaDirectory>${project.basedir}/src/main/resources/xsd</schemaDirectory>.

Наконец, вы также можете обратиться к this similar SO post.

0

Я также использую конфигурацию maven и потратил почти на компиляцию проекта. Позже я узнал, что он ищет файл схемы, то есть schema.xsd.

Если вы используете конфигурацию MAVEN, то по умолчанию вы можете поместить файл схемы в каталог ресурсов.

Но если вы хотите, чтобы указать свой путь для поиска файла схемы, то вы можете использовать includeSchema тег из schemaDescription в конфигурации плагина.

       OR 

Вы также можете использовать эффективную помпу для поиска определенной метки.

Команда для эффективного П в мавена: МВН помощи: эффективный-POM

Спасибо

Смежные вопросы