[英]Micronaut property injection does not work with Gradle multi-project build
我正在尝试使用Gradle多项目构建使用共享包设置Micronaut( 1.1.0.BUILD-SNAPSHOT
)项目,以便可以将通用逻辑放在一个地方。
在为库创建属性文件时遇到了问题。 我在application.yml
一些库特定的属性,但是看起来它们没有被推送到应用程序层:
LIB / SRC /主/爪哇/ LIB / CommonSingeton.java
@Singleton
public class CommonSingleton {
public CommonSingleton(
@Value("${lib.testProperty}") String value
) {
System.out.println(value);
}
}
LIB / src目录/主/资源/ application.yml
lib:
testProperty: test
应用程序/ SRC /主/ JAVA /应用程序/ AppController.java
@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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.