我将现有的构建系统从Ant迁移到Maven,到目前为止,我已经解决(或重新设计)了许多问题,除了这个问题。
每个特定于系统的项目的目标是一个简单的JAR,但它还包含一些项目配置和自定义信息,这些信息被复制到WAR的/product
文件夹中。这样就实现了我们的Web应用程序的模块化和可扩展性
考虑一下例子:
project:
MyProject
/product
product.info
some.data
WAR:
./product
/MyProject
product.info
some.data
..
..
./WEB-INF/
/lib
MyProject.jar
..
我的问题是:如何针对特定产品的项目实现此结果?我想到的第一件事是:由于这样的项目构建(JAR和ZIP),两个工件,其中ZIP由/product
文件夹中的POM创建(最好的布局可能会分裂每个项目分为两个子项目,这样我就可以用一个多模块项目聚合POM和ZIP。我将非常感谢所提出的所有解决方案(包括项目文件夹和重组选项)。
答案 0 :(得分:0)
第一个明显的答案是将每个这样的“产品”项目(将其视为“模块”,如果它更容易被这种方式感知)分成两个子项目 - 一个用于JAR,一个用于配置数据。然后,使用程序集,所有声明的'product-ZIPs'将转到WAR的./product
文件夹。
编辑分类器也可以应用于配置插件,以使程序集更结构化,更易于实现。