0

我正在将现有的构建系统从 Ant 迁移到 Maven,到目前为止,我已经解决(或重新设计)了许多问题,除了这个问题。我们每个系统特定项目的目标是一个简单的 JAR,但它还包含一些项目配置和自定义信息,这些信息被复制到/productWAR 的(比方说)文件夹中。这种方式实现了我们的 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 与一个多模块项目聚合在一起)。我将欣赏提出的所有解决方案(包括项目文件夹的重组选项)。

4

1 回答 1

0

第一个也是显而易见的答案是将每个这样的“产品”项目(如果这样更容易理解,则将其视为“模块”)分成两个子项目——一个用于 JAR,一个用于配置数据。然后,使用程序集,所有声明的“产品-ZIP”将进入./productWAR 文件夹。

EDIT分类器也可以应用于配置插件,以使程序集更加结构化和更易于实现。

于 2012-04-08T16:57:18.263 回答