具有外部XSD依赖性的jaxb2-maven-plugin

时间:2014-04-03 18:13:18

标签: maven jaxb maven-jaxb2-plugin

我们有一套通用的XSD(数据类型,词汇表等),我们在自己的Maven项目中使用jaxb2-maven-plugin进行生成。在第二个项目中,我需要在编译时参考一个或多个这些XSD,但不希望它们包含在生成的工件中。我已经创建了一个目录文件,除了我收到所有内容之外,它工作得很好。

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.6</version>
<executions>
    <execution>
        <goals>
            <goal>xjc</goal>
        </goals>
    </execution>
</executions>
<configuration>
    <outputDirectory>${basedir}/src/main/java</outputDirectory>
    <target>2.1</target>
    <catalog>catalog.cat</catalog>
</configuration>

我对plugin docs感到厌倦,但他们对细节感到悲伤。有没有办法在没有每个项目都需要复制它们的情况下从公共模式中重用?

由于

1 个答案:

答案 0 :(得分:1)

这是我的maven-jaxb2-plugin可以做的事情:

Compiling schema from Maven Artifact

文档站点目前非常不稳定,所以这里是文档的片段。

<configuration>                                                                                         
    <forceRegenerate>true</forceRegenerate>                                                         
    <schemas>                                                                                       
        <schema>
            <dependencyResource>                                                            
                <groupId>org.jvnet.jaxb2.maven2</groupId>                               
                <artifactId>maven-jaxb2-plugin-tests-po</artifactId>                    
                <!-- Can be defined in project dependencies or dependency management -->
                <version>${project.version}</version>                                   
                <resource>purchaseorder.xsd</resource>                                  
            </dependencyResource>                                                           
        </schema>                                                                               
    </schemas>                                                                                      
</configuration>

这是sample project