我正在尝试使用Gradle multi-project build使用共享包来设置Micronaut(1.1.0.build-snapshot
)项目,这样我就可以将公共逻辑放在一个地方。
我在为库创建属性文件时遇到了这个问题。我在application.yml
中放置了一些特定于库的属性,但看起来它们没有被推进到应用程序层:
@Singleton
public class CommonSingleton {
public CommonSingleton(
@Value("${lib.testProperty}") String value
) {
System.out.println(value);
}
}
lib:
testProperty: test
@Controller("/app")
public class AppController {
@Inject
private CommonSingleton commonSingleton;
@Get(produces = MediaType.TEXT_PLAIN)
public String index() {
return "Hello World";
}
}
Unexpected error occurred: Failed to inject value for parameter [value] of class: lib.CommonSingleton
Message: Error resolving property value [${lib.testProperty}]. Property doesn't exist
Path Taken: AppController.commonSingleton --> new CommonSingleton([String value])
io.micronaut.context.exceptions.DependencyInjectionException: Failed to inject value for parameter [value] of class: lib.CommonSingleton
完整的示例可在GitHub上获得。
目前,它被设计成只读取单个application.yml
。如果要从app
中删除该文件,则将从lib
中读取该文件。你可以提交一个问题让我们知道这是你想要的。https://github.com/micronaut-projects/micronaut-core/issues
在使用GradleV5.5.1的多项目构建中,我尝试将插件仅应用于某些子项目(如使用插件中所述)。您可以在这里看到,我试图将它应用于以结尾的子项目: 但是,它将其应用于我的项目(输出日志): 我做错了什么??
我有以下项目结构 上述项目结构的思想是:多个项目包含多个子项目,每个项目都可以依赖于其他项目。此外,项目中的子项目可能与同一项目中的其他子项目有依赖关系。项目将在根中的settings.gradle中指定。同时,每个项目中的gradle会说出该特定项目的子项目是什么。 我的设置.根部的Gradle看起来像 和Project1设置。Gradle将看起来像 其他依赖关系顺序是在相应的build.gra
我尝试用构建我的Java项目,得到了以下内容: 的第25行:
我有一个多项目分级建筑在当地工作。有一个父级文件build.gradle设置。gradle文件将项目分配给它们各自的分级生成文件: 错误仍然相同,build.gradle文件(父文件)无法识别依赖项任务查看调试语句,找到并识别子生成分级文件:使用生成文件'/var/../LoadRemote/RemoteLoad_build.gradle'计算项目':LoadRemote'。对加载构建文件显示相同
分级任务 null 在https://help.gradle.org获得更多帮助