为多模块项目创建所有jar和源jar的存档

时间:2009-09-11 10:18:49

标签: maven-2

我正在建立一个有六个模块的Maven项目。

我可以使用Maven或Ivy自己导入它,但其他团队也希望使用这些jar,但他们的做法是将jar和源jar提交到版本控制。

我想生成所有模块及其来源的zip / tar程序集,他们可以随意使用。

我读过Maven Assembly Plugin: Including Module Binaries,但我不喜欢使用它,因为:

  1. linked FAQ entry返回404;
  2. 我需要手动指定所有模块。
  3. 有替代方案吗?


    更新:我尝试使用内置程序集描述符

     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.
    
    在所有模块构建运行之后

4 个答案:

答案 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)

答案 3 :(得分:-4)

听起来你需要某种构建服务器。本周我在JavaZone 2009上看了看Hudson CI http://hudson-ci.org/

服务器将创建您或其他团队可以使用/下载的工件。