【问题标题】:Howto inject Plexus component into Mojo如何将 Plexus 组件注入 Mojo
【发布时间】:2014-01-18 18:27:51
【问题描述】:

是否可以将 Plexus 组件注入 Mojo。 这是我尝试过的,但myComponent 始终是null

我的组件:

import org.codehaus.plexus.component.annotations.Component;

@Component(role = MyComponent.class, hint = "mine")
public class MyComponent {

}

我的魔力:

import org.codehaus.plexus.component.annotations.Requirement;
import org.apache.maven.plugins.annotations.Component;

public class MyMojo extends AbstractMojo {

    @Requirement(role = MyComponent.class, hint = "mine", optional = false)
    protected MyComponent myComponent;

    @Component
    protected MavenProject project;
}

【问题讨论】:

标签: maven-3 plexus


【解决方案1】:

您的 Java 部分是正确的,但您需要添加一些源处理来构建您的 Maven 插件。这可以通过在pom.xml 中的build 中添加以下内容来实现:

<plugin>
    <groupId>org.codehaus.plexus</groupId>
    <artifactId>plexus-component-metadata</artifactId>
    <version>2.0.0</version>
    <executions>
        <execution>
            <id>process-classes</id>
            <goals>
                <goal>generate-metadata</goal>
            </goals>
        </execution>
    </executions>
</plugin>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 2018-09-28
    • 2012-03-07
    • 2011-04-13
    • 2019-01-03
    • 1970-01-01
    相关资源
    最近更新 更多