为了减少多模块maven项目的构建时间,我希望拥有部署档案的自己的项目。
我们有一些独立的批次使用maven-assembly-plugin作为.ZIP打包。由于目前打包ZIP是通过批量模块直接完成的,因此在ZIP中包含这两件事是没有问题的:
当涉及到有一个自己的项目来构建ZIP我没有问题来获取我们的依赖项(包括我们的批处理jar包含所有基于Java的批处理和东西),但我不知道如何包含/ script文件夹不是模块/目标输出的一部分。
我设法将它组合在一起的唯一方法是对该文件夹进行相对定义,如下所示:
<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 :(得分:0)
一种合法的方法是在自己的模块中维护所需的资源,将其作为jar / zip填充到存储库,并在上述两个项目中依赖于新的maven模块。
在我们的上下文中,我们认为这是一个过度设计的解决方案,我们目前认为我们批次的部署密切ZIP的打包发生在指定的构建服务器上,其中还有其他“仅用于生产”的文件。 “仅用于开发” - 文件被替换为我们可以使用相对路径,因为我们的每个maven项目都在此构建服务器上签出。