我目前正在尝试将多应用程序项目从 迁移Ant到Maven.
目前该项目由多个包组成,创建某种依赖关系树,没有循环依赖关系。这棵树的叶子是“应用程序”包,包含一个Main. 中间节点是“库”包,由其他库“包”或“应用程序”包使用。
允许节点“一起生长”为单个节点或叶。我发现,这些包可能应该被分组到 Maven 模块中,我现在有一个与此类似的结构:
root
- lib1
- lib1A (depends on lib1)
- lib1B (depends on lib1)
- app1A (depends on lib1A)
- lib2 (depends on lib1B)
- lib2A (depends on lib2)
- lib2B (depends on lib2)
- app2 (depends on lib2A and lib2B)
- lib3 (depends on lib2A and lib2B)
- app3A (depends on lib3)
- app3B (depends on lib3)
基本上,一个库和一个应用程序可以依赖于一个或多个其他库。
现在我希望能够单独构建每个应用程序并为其创建一个可执行的 jar。
我现在尝试执行的方法如下:
配置用于创建可执行 jar 的pom.xml
every 。app
maven-assembly-plugin
为特定应用程序构建每个所需的模块。
构建应用程序模块,这会生成可执行 jar。
因此,构建app2
将构建lib1
、lib1A
、lib1B
、lib2
、lib2A
和lib2B
最后app2
。
然而,为了自动化构建,我需要为每个应用程序创建一个构建脚本,它负责构建所有需要的依赖项,而 Maven 应该已经自己完成了。
另外,如果我想一次构建多个应用程序,我需要多次构建所有库,或者自己跟踪已经构建的模块。
由于我是 Maven 新手,我不确定这是否是管理此类多应用程序项目的正确方法。
因此,我寻求一些有关如何正确管理此用例的建议。
编辑:
为了澄清我希望能够做什么:
使用其依赖项构建单个应用程序,而不构建所有应用程序(在父 pom 上运行 Maven)。
构建多个应用程序(不是全部)及其依赖项,而无需多次构建依赖项。
HUX布斯
拉莫斯之舞
狐的传说
相关分类