Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java maven插件中的依赖注入_Java_Maven_Dependency Injection_Maven Plugin - Fatal编程技术网

Java maven插件中的依赖注入

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

我正在开发一个maven插件,为了使其更易于测试,我想使用一个轻量级的依赖注入框架(如Guice)来管理服务等,但虽然我可以让它们与应用程序集成,但我还没有能够让它们与我的插件集成。除了以静态方式进行依赖项注入之外,还有什么方法可以做到这一点呢?

Maven已经为您提供了名为Plexus的嵌入式IoC容器。您可以包括其他组件

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,请查看以下链接: