2

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;
}
4

1 に答える 1

0

Java の部分は正しいですが、Maven プラグインをビルドするには、いくつかのソース処理を追加する必要があります。buildこれは、 in に次を追加することで実現できますpom.xml

<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>
于 2017-01-03T22:38:13.637 に答える