如何制作quarkus多模块项目

问题描述 投票:0回答:1

我有一个项目:

\--- Project ':backend'
     +--- Project ':backend:api'
     \--- Project ':backend:shared'

在根模块中我配置了常见的依赖项和quarkus插件 模块 API 包含服务、资源以及 Web 服务器所需的所有内容

共享模块包含存储库和实体

项目构建成功,但工作异常

问题:

  1. 在模块之间定义公共库和框架插件/依赖项是最佳实践吗
  2. 我是否正确启动一个api模块来开发新功能?
  3. 如何解决服务器不停止的问题?我希望当我开始项目时它可以工作,当我取消它时它应该停止。

谢谢

当我尝试使用

gradle :backend:api:build :backend:api:quarkusDev
启动 API 时,它可以工作,但停止后服务器仍在运行,我可以发送请求。我认为这可能是因为共享模块也启动了,并且在 api 上取消 gradle 任务后,共享仍在运行。当我尝试再次运行时,它不起作用,因为使用了端口 8080,我需要通过 'kill -9 $(lsof -t -i :8080)' 删除它

java gradle quarkus multi-module
1个回答
0
投票

在我看来,在您的情况下可能没有必要分成“共享”和“api”模块。它们似乎是相互关联的,构成了项目此部分中统一解决方案的一部分。我认为将业务领域划分为不同的模块更合适——每个模块致力于解决特定问题或解决特定领域。

我认为定义模块之间的公共库和框架插件/依赖关系是很好的。

配置服务器的启动和关闭理想情况下应驻留在根目录中,确定需要启动的内容。当 root 启动时,所有必需的模块都应该启动,当它停止时,一切都会停止。项目中可能有一些模块不直接链接到根,但处理并行进程。这些可能会产生工件,或者在必要时可以作为单独的项目启动,从而需要单独完成。然而,如果模块是互连的,它们应该从统一的入口点开始。

© www.soinside.com 2019 - 2024. All rights reserved.