Java maven插件中的依赖注入
我正在开发一个maven插件,为了使其更易于测试,我想使用一个轻量级的依赖注入框架(如Guice)来管理服务等,但虽然我可以让它们与应用程序集成,但我还没有能够让它们与我的插件集成。除了以静态方式进行依赖项注入之外,还有什么方法可以做到这一点呢?Maven已经为您提供了名为Plexus的嵌入式IoC容器。您可以包括其他组件Java maven插件中的依赖注入,java,maven,dependency-injection,maven-plugin,Java,Maven,Dependency Injection,Maven Plugin,我正在开发一个maven插件,为了使其更易于测试,我想使用一个轻量级的依赖注入框架(如Guice)来管理服务等,但虽然我可以让它们与应用程序集成,但我还没有能够让它们与我的插件集成。除了以静态方式进行依赖项注入之外,还有什么方法可以做到这一点呢?Maven已经为您提供了名为Plexus的嵌入式IoC容器。您可以包括其他组件 public class MonitorMojo extends AbstractMojo { /** * The website monitor
public class MonitorMojo
extends AbstractMojo
{
/**
* The website monitor component instance that will be injected
* by the Plexus runtime.
* @component
*/
private WebsiteMonitor monitor;
public void execute()
throws MojoExecutionException, MojoFailureException
{
// TODO Auto-generated method stub
}
}
并参考属性
@Parameter( property = "sayhi.greeting", defaultValue = "Hello World!" )
private String greeting;
您可以在和上找到更多信息。还有另一个框架(一个小型库),它为Maven插件开发提供了比carlosvin评论(Maven JSR 330)中引用的框架更好的CDI支持 这是图书馆: 它不仅提供了DI,还提供了一些附加的概念,例如默认情况下具有回滚功能和可扩展性的基于工作流的处理模型
我将很快发布一篇关于这个库的博客文章,但我认为文档应该解释所有的概念。顺便说一句,这就是CDI中的DI,它具有全功能的Weld SE容器和基于类路径的bean发现 Maven 3.1.+带来了一个新的依赖系统,它仍然支持plexus api/注释,但Maven正在迁移到guice/jsr330,请查看以下链接: