我有一个使用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目录。这是有效的,直到我做一个站点:部署,因为它只复制目标/站点目录。
谢谢,
查尔斯
答案 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生成的站点添加资源。