Maven 创建quarkus多模块项目的最佳实践是什么?
我想创建一个多模块quarkus项目,以下是我所做的:Maven 创建quarkus多模块项目的最佳实践是什么?,maven,quarkus,Maven,Quarkus,我想创建一个多模块quarkus项目,以下是我所做的: 通过IDEA创建一个普通的qurakus项目 右键点击项目文件夹,选择“添加模块”,添加3个子模块:“控制器”、“资源”、“包” 我希望“package”模块是一个uber jar,作为一个包含所有其他模块的可运行jar,因此我修改了每个模块的pom.xml文件: 这是根模块pom.xml: 4.0.0 io.github.jiayao3o 伊尔加谢夫 聚甲醛 1.0.0-SNAPSHOT 控制器 物件 包裹 3.8.1 真的 16 16
4.0.0
io.github.jiayao3o
伊尔加谢夫
聚甲醛
1.0.0-SNAPSHOT
控制器
物件
包裹
3.8.1
真的
16
16
UTF-8
UTF-8
1.13.0.1最终版本
夸克宇宙物质清单
夸克斯
1.13.0.1最终版本
3.0.0-M5
${quarkus.platform.group id}
${quarkus.platform.artifact id}
${quarkus.platform.version}
聚甲醛
进口
夸克斯
夸克易反应
夸克斯
夸克弧
夸克斯
quarkus-junit5
测试
放心吧
放心
测试
org.jboss.jandex
jandex maven插件
1.0.8
编制索引
詹德克斯
夸克斯
quarkus maven插件
${quarkus plugin.version}
真的
建造
生成代码
生成代码测试
maven编译器插件
${compiler plugin.version}
maven surefire插件
${surefire plugin.version}
org.jboss.logmanager.logmanager
${maven.home}
本地的
本地的
maven故障保护插件
${surefire plugin.version}
集成测试
验证
${project.build.directory}/${project.build.finalName}-runner
org.jboss.logmanager.logmanager
${maven.home}
本地的
这是控制器模块pom.xml:
伊尔加谢夫
io.github.jiayao3o
1.0.0-SNAPSHOT
4.0.0
控制器
16
16
这是res模块pom.xml:
伊尔加谢夫
io.github.jiayao3o
1.0.0-SNAPSHOT
4.0.0
物件
16
16
这是包模块pom.xml:
伊尔加谢夫
io.github.jiayao3o
1.0.0-SNAPSHOT
4.0.0
包裹
16
16
io.github.jiayao3o
控制器
${project.parent.version}
io.github.jiayao3o
物件
${project.parent.version}
所以我想问的问题是,我上面的步骤是构建多模块quarkus项目的最佳实践吗?是否有我不知道的问题?问题中描述的结构看起来合理。不过,我建议进行以下改进:
- 不需要在子模块中重复
和maven.compiler.source
属性,它们是从maven.compiler.target
继承的李> - 无需在所有模块中运行
,将其移动到quarkus maven插件
模块李>包
- 这同样适用于配置文件
本机
保持为所有模块配置的
jandex maven插件
,如中所述。当我将jandex maven插件添加到根模块时,它将在所有子模块中继承,对吗?maven模块从声明的父模块继承项目/构建/插件
,这是此结构中的根模块。