kotlin - 如何配置一个 gradle 多模块项目?
问题描述
我有 3 个微服务,现在我需要为所有微服务创建一个 docker-compose。因此,当我尝试将我所有的微服务放在一个项目中时,我遇到了这个问题
Project directory 'C:\Users\Dany\IdeaProjects\target-root\target-discovery\app' is not part of the build defined by settings file 'C:\Users\Dany\IdeaProjects\target-root\settings.gradle.kts'. If this is an unrelated build, it must have its own settings file.
我必须阅读什么来修复它?
设置.gradle.kts
项目结构
解决方案
包含settings.gradle.kts
应如下所示:
include(
":target-discovery"
)
如果有更多子文件夹(例如 target-discovery/app、target-discovery/app2):
include(
":target-discovery:app",
":target-discovery:app2"
)
定义一个模块时,它应该总是以它开头,:
子文件夹应该由:
还要确保您的根目录build.gradle.kts
定义所有相关插件或在每个子模块中定义它们。您还可以创建约定(https://docs.gradle.org/current/samples/sample_convention_plugins.html)
如果您只是plugins
在根目录中定义它不会影响您的子项目,实现它的一种方法(尽管我更喜欢约定插件)是:
构建.gradle.kts
plugins {
kotlin("jvm") version ...
}
subprojects {
apply(plugin = "kotlin")
}
推荐阅读
- r - 默认清空数据表的搜索栏,而不是包括突出显示的文本
- laravel - Laravel Google Login、Calendar 和 Drive 多个 API 集成
- jsp - 从 JSP 文本框获取值到同一页面上的 jsp 变量
- sql - IBM DB2 SQL 休眠、等待或延迟存储过程
- java - 使用 webview 和进度条的应用程序看不到 Admob 广告
- windows - .pdb 文件被另一个进程使用,无法关闭
- javascript - 两次点击调度动作 Redux
- c++ - C++ 捕获屏幕片段以进行进一步处理
- arm - ARM-v8 NEON:是否有将单个普通寄存器拆分到 NEON 寄存器的多个通道的指令?
- flutter - 关闭小部件颤动,禁用多个项目滑动?