Maven 具有自动配置的定制Micronaut模块/jar
找不到正确的工作示例,无法使用自动配置编写自己的模块/lib。Maven 具有自动配置的定制Micronaut模块/jar,maven,dependency-injection,java-8,micronaut,Maven,Dependency Injection,Java 8,Micronaut,找不到正确的工作示例,无法使用自动配置编写自己的模块/lib。 有人能解释一下如何为micronaut应用程序编写合适的模块吗? 尝试加载@Factory类,并使用@Configuration注释添加package info.java,但没有帮助。还添加了适当的包来扫描主类,如Micronaut.build(args.packages(“com.mypackage”).start() 样本: package com.mypackage; public class FooService
有人能解释一下如何为micronaut应用程序编写合适的模块吗?
尝试加载
@Factory
类,并使用@Configuration
注释添加package info.java
,但没有帮助。还添加了适当的包来扫描主类,如Micronaut.build(args.packages(“com.mypackage”).start()
样本:
package com.mypackage;
public class FooService {
public void bar() {
}
}
从车把的视角我学到了很多 对于bean中的配置,您需要:
当Micronaut创建bean时,它将读取application.yml文件并在配置impl类中设置值。然后,它将使用配置值作为参数来构建bean。实际问题出现在Maven中。
Micronaut注释处理器不是由
Maven编译器插件触发的
解决方案是在maven compile插件中配置注释处理器:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>${maven-compiler-plugin.source}</source>
<target>${maven-compiler-plugin.target}</target>
<encoding>${maven-compiler-plugin.encoding}</encoding>
<annotationProcessorPaths>
<!-- uncomment if you are using lombok -->
<!-- path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path -->
<path>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-inject-java</artifactId>
<version>${micronaut.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
org.apache.maven.plugins
maven编译器插件
3.8.0
${maven编译器插件.source}
${maven编译器plugin.target}
${maven编译器plugin.encoding}
微型机器人
micronaut注入java
${micronaut.version}
//com.mypackage.package-info.java
@Configuration
package com.mypackage;
import io.micronaut.context.annotation.Configuration;
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>${maven-compiler-plugin.source}</source>
<target>${maven-compiler-plugin.target}</target>
<encoding>${maven-compiler-plugin.encoding}</encoding>
<annotationProcessorPaths>
<!-- uncomment if you are using lombok -->
<!-- path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path -->
<path>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-inject-java</artifactId>
<version>${micronaut.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>