在我们公司,我们通常为众多不同的客户构建许多弹性客户端应用程序。每个 Flex 应用程序通常在运行时加载,以及不同种类的独立 Flex 模块 swf。
我正在尝试 Mavenise 项目,但对如何取得进展感到困惑。目录结构非常平坦,但我不知道如何对 pom 进行分层,以便能够从层次结构中的任何位置进行构建。
结构可能如下:
Client1 - pom.xml
-App1 - pom.xml
-App2 - pom.xml
-App3 - pom.xml
-Module1 - pom.xml
-Module2 - pom.xml
Client2 - pom.xml
-App1 - pom.xml
-App2 - pom.xml
-Module1 - pom.xml
-module2 - pom.xml
-Module3 - pom.xml
问题是,如果我想构建 Client2/App1 及其所有依赖模块(即 Client2/Module1 和 Client2/Module2)。当然我可以声明:
<modules>
<module>Module1</module>
<module>Module2</module>
</modules>
在 Client2/App1/pom.xml 中,将包指定为“pom”,但这不允许实际为 Client2/App1 本身编译 swf。
我可以将 Client2/App1 打包为 swf 并让它自己构建 Client2/App1.swf,并在 Client2/pom.xml 中声明:
<modules>
<module>App1</module>
<module>Module1</module>
<module>Module2</module>
</modules>
但希望也可以选择独立构建 Client2/App2,或与此相关的任何其他应用程序。
1)我是否可以使用配置文件设置不同的模块声明以促进任意客户端构建?
2)还有另一种嵌套pom的方法,聚合器级别的pom也执行一些编译目标吗?
3)我已经看到您可以在同一级别使用除 pom 以外的名称添加其他 pom 以促进这一点,但似乎我不能在声明中包含这些 pom。
任何帮助/想法表示赞赏。