0

我正在使用 Spring Boot 构建 API。我正在使用 gradle 和一个多项目构建设置,其中我有一个services-lib项目和一个依赖于services-lib的api项目。

在 api 项目中运行api:bootRun任务工作得很好,但现在我正在尝试添加触发 spring-boot-devtools自动重启的能力,这需要 bootRun 任务在它的类路径中包含service-lib类目录(不是多项目依赖添加的jar)。

将此添加到我的 api 的 build.gradle 确实会在我运行 api:build 任务时触发自动重启(其中“C:/foo/bar”是我的多项目根目录的绝对路径)。

bootRun {
    classpath += files('C:/foo/bar/services-lib/build/classes/java/main')
}

我的问题是,我可以使用 project(':services-lib') 之类的东西来设置它,而不是硬编码该路径吗?

4

1 回答 1

0

好吧,由于 Kidus 的建议,我确实解决了这个问题。

bootRun {
    bootRun.systemProperty 'spring.profiles.active', 'dev'
    classpath += files('../services-lib/build/classes/java/main')
}

这仍然意味着,如果我在services-lib项目中更改有关构建输出的任何内容,我必须更改它,但至少现在当其他人检查该项目时,它现在可以为他们工作。

于 2021-03-07T12:46:42.273 回答