如何将源文件中的文件添加到Maven站点

时间:2010-03-23 20:18:53

标签: maven-2

我有一个使用Jersey / JAXB的Maven 2 RESTful应用程序。我从模式文件生成JAXB bean,模式文件位于我的资源目录中,例如src / main / resources / foo.xsd。

我想在生成的Maven站点中为我的项目包含foo.xsd文件,以便客户端在编写RESTful调用时可以看到XML模式。

如何在网站中加入foo.xsd?

我可以在src / main / site / ...中获得该文件的副本,然后更新我的site.xml以指向它(或者有一个内容指向它的.apt),但我不知道是这样的,因为我还在调整foo.xsd,并且不想在每次更新时都记得复制它。这只是不好的做法。

我还尝试过.apt文件,它有一个指向foo.xsd的链接,该链接被复制到target / classes目录。这是有效的,直到我做一个站点:部署,因为它只复制目标/站点目录。

谢谢,

查尔斯

2 个答案:

答案 0 :(得分:6)

要向您的网站添加资源,您必须将它们包含在资源目录中:

.
`-- src
    `-- site
        `-- resources
            `-- foo.xsd

要使此文件与生成的文件保持同步,您只需使用maven antrun插件将生成的文件从src/main/resources复制到上述位置,例如在pre-site阶段:< / p>

  <plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
      <execution>
        <phase>pre-site</phase>
        <goals>
          <goal>run</goal>
        </goals>
        <configuration>
          <tasks>
            <copy file="src/main/resources/foo.xsd" todir="src/site/resources"/>
          </tasks>
        </configuration>
      </execution>
    </executions>
  </plugin>

最后,在您的网站描述符(foo.xsd文件)中添加指向此site.xml的链接。

答案 1 :(得分:0)

看看这个link。它描述了如何自定义导航并向Maven生成的站点添加资源。