2013-04-02 102 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

感谢

相关问题