Maven - 将XSD作为依赖项

时间:2010-12-08 16:20:14

标签: maven-2 xsd

我们有一个项目,它定义了它使用XSD文件生成的消息格式。

将这些XSD文件作为另一个项目的依赖项的最简单方法是什么?

我正在考虑使用maven-build-helper attach-artifact目标来附加我的XSD文件。

有更好的机制吗?

1 个答案:

答案 0 :(得分:3)

我不知道附件 - 神器目标,但我做了像你要求的事情。我有wsdl和xsd文件用axis2编写Webservice工件及其客户端工件。

  1. 我把自己的wsdl和xsd放在了自己的位置 名为'wsdl'的项目 src / main / resources / META-INF和 没有其他的。
  2. 我做了一个自己的项目 为生成的名称命名为'soap' Java的SOAP代码。在这个项目我 将wsdl项目添加为 依赖并解压缩wsdl和 xsd文件通过 maven-dependency-plugin到 目标文件夹中 初始化阶段。所以我可以用它来 生成SOAP代码。
  3. 肥皂 我用作项目的依赖项目 Web服务项目和为 客户项目。
  4. 我将所有这些项目都放到了一个多模块项目中,以便我可以一起构建所有项目。 我认为对你来说重要的部分是依赖插件的配置:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>unpack-wsdl-dependency</id>
            <phase>initialize</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <artifactItems>
            <artifactItem>
              <groupId>${groupId}</groupId>
              <artifactId>wsdl</artifactId>
              <outputDirectory>target/wsdl</outputDirectory>
              <includes>META-INF/*.wsdl,META-INF/*.xsd</includes>
            </artifactItem>
          </artifactItems>
          <!-- other configurations here -->
        </configuration>
      </plugin>
    

    希望有所帮助。

    问候迈克尔