Maven 插件中的依赖注入

use*_*407 5 java dependency-injection maven-plugin maven

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

hoa*_*oaz 2

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

    }

}
Run Code Online (Sandbox Code Playgroud)

并参考属性

@Parameter( property = "sayhi.greeting", defaultValue = "Hello World!" )
private String greeting;
Run Code Online (Sandbox Code Playgroud)

您可以在Maven 插件开发站点plexus 文档上找到更多信息。