2014-06-30 57 views
0

为了减少多模块maven项目的构建时间,我想拥有自己的部署档案项目。maven assembly插件添加依赖项的某些文件在依赖项中不可用JAR

我们有一些独立的批量使用maven-assembly-plugin作为.ZIP提供。由于目前包装的ZIP从withing直接完成批模块构建其没有问题,有ZIP这里面的两件事情:

    所有的dependency-罐(包括我们的所有批次的Jar)
  • /lib目录
  • /脚本文件夹不包含在模块的批处理jar文件夹中,也不包含在/ target文件夹中。包含用于开发的一些.BATs/.CMD和.properties。

当谈到有一个自己的项目,以建立一个ZIP我没有问题,让我们的dependencys(包括我们的包含所有基于Java批次批次罐和东西),但我不知道如何以包括/脚本文件夹不是模块/目标输出的一部分。

我设法得到它在一起的唯一方式是由具有相对定义到该文件夹​​看起来像这样:

<fileSet> 
     <directory>${basedir}../my-batches-project/src/main/scripts</directory> 
     <includes> 
      <include>*</include> 
     </includes> 
     <outputDirectory>/scripts</outputDirectory> 
</fileSet> 

这只能如果新项目已签出在同一水平多模块项目。 我想知道是否有更好的方式来包含一个maven项目的某些文件。

编辑:

顶撞一些队友我们决定在上述两个项目中重复提到/脚本文件夹中。在构建ZIP的部署项目中,它将保留在src/main/scripts下,而在批处理模块中,它将驻留在src/test/scripts中以允许批处理的本地执行...但是我不喜欢这样。

回答

0

一种合法的方法是在他们自己的模块中维护所需的资源,以jar/zip形式将其填充到存储库中,并在上述两个项目中都具有对新的maven模块的依赖关系。

我们认为这是一个过度工程化的解决方案,我们目前认为,我们的批量包装非常部署关闭的ZIP发生在指定的构建服务器上,其他“仅用于生产”文件我们的“仅用于开发”文件被替换为我们可以与相对路径一起生活,因为我们的每个Maven项目都在此构建服务器上签出。

相关问题