2015-10-26 85 views
0

我使用私人MavenPlugin自动生成我的网页/休息服务的文档。这个插件会生成一个巨大的JSON文件,我想将其与我的jar文件一起上传到存储库,以便您不必检出项目并再次执行maven目标以获取文档。我必须根据请求共享特定版本的文档,因此我想我将它们与版本/工件一起存储在存储库中(作为文件或作为存档仅包含这一个文件)。Maven上传生成的文档/ json文件到存储库

我已经考虑尚未三种可能性:

  • 创建一个新的Maven插件,做这种上传的对我来说,它必须处理检测回购应该推动JSON以(本地和远程+配置)。

  • 使用某种汇编插件配置/资源插件将文档包含在artifact.jar或source.jar中。但IMO不应该在那里,因为它的大,你可以自己创建它,并且我不想从artifact.jar下载和提取它。

  • 编辑MavenPlugin以告诉安装/部署插件包含该json文件并将其上传到我的回购站。如果可能的话,没有在使用MavenPlugin的pom中为install/deploy插件指定显式配置。

第三是我的首选,但我不知道如何实现它。 (如果我没有在这里找到一个好的解决方案,我可能会调试源代码或javadoc插件来检查它们是如何实现的) 如果没有更好的选择,我将使用第二个选项。 头号似乎很尴尬,听起来像很多工作,我想避免的。^^

任何想法如何,我可以实现选择3或我可能会错过任何其他的选择吗?

请仅限Java或pom.xml。没有蚂蚁,没有grails/gradle,没有bash/shell脚本。

回答

1

使用assembly plugin'ssingle目标将文件打包到单独的分类罐子中(例如myApp-jsondocs.jar)。生成的程序集将默认附加到项目中 - 有关更多信息,请参阅目标的attach参数。

+0

这是一个很好的起点。 随着我发现以下来源,这将帮助我将其整合到插件中。 [maven-assembly-plugin-AbstractAssemblyMojo](http://svn.apache.org/viewvc/maven/plugins/tags/maven-assembly-plugin-2.6/src/main/java/org/apache/maven/plugin /assembly/mojos/AbstractAssemblyMojo.java?view=markup) 其中引用: [MavenProjectHelper](http://grepcode.com/file/repo1.maven.org/maven2/org.apache.maven/maven-project/ 2.2.1/org/apache/maven/project/MavenProjectHelper.java /#29)这正是我所需要的, –