我正在建立一个有六个模块的Maven项目。
我可以使用Maven或Ivy自己导入它,但其他团队也希望使用这些jar,但他们的做法是将jar和源jar提交到版本控制。
我想生成所有模块及其来源的zip / tar程序集,他们可以随意使用。
我读过Maven Assembly Plugin: Including Module Binaries,但我不喜欢使用它,因为:
有替代方案吗?
更新:我尝试使用内置程序集描述符
mvn assembly:assembly -DprojectModulesOnly=true
mvn assembly:assembly
并且都失败了
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to create assembly: Error creating assembly archive bin: You must set at least one file.
在所有模块构建运行之后。
答案 0 :(得分:4)
我认为你是在正确的方面,程序集插件的moduleSets选项处理你所追求的。
如果您正在寻找一些有用的文档,Maven书的Module Selection部分将非常详尽地介绍它,包括如何配置包含和排除,处理二进制文件和源,以及排除外部依赖项。
答案 1 :(得分:1)
我遇到了这个问题,对我而言,解决方案并未放在/
<fileset><directory>
如果这样做,将在Windows上运行,而不是在Unix / Linux上运行!
<fileSet>
<directory>src/main/</directory>
<outputDirectory></outputDirectory>
<includes>
<include>VERSION</include>
</includes>
</fileSet>
有效,
<fileSet>
<directory>/src/main/</directory>
<outputDirectory></outputDirectory>
<includes>
<include>VERSION</include>
</includes>
</fileSet>
原因
[错误]无法执行目标org.apache.maven.plugins:maven-assembly-plugin:2.3:项目测试3上的单个(执行 - 插件 - 程序集):无法创建程序集:创建程序集归档程序集时出错:您必须至少设置一个文件。 - &GT; [帮助1]
答案 2 :(得分:0)
查看How to use assembly:assembly using predefined descriptor ids。我认为bin
和src
pre-defined descriptor files就是您所需要的。
答案 3 :(得分:-4)
听起来你需要某种构建服务器。本周我在JavaZone 2009上看了看Hudson CI http://hudson-ci.org/
服务器将创建您或其他团队可以使用/下载的工件。