1
我跟着这个例子中,以获得所需的依赖注入我的AbtractMavenLifecyleParticipant:如何使用奥德在org.apache.maven.AbstractMavenLifecycleParticipant
http://www.sonatype.com/people/2011/01/how-to-use-aether-in-maven-plugins/
http://maven.apache.org/examples/maven-3-lifecycle-extensions.html
'afterProjectsRead'被完美调用,但是repoSystem,repoSession和remoteRepos总是'null ”。
如何从AbstractMavenLifecyleParticipant中获取这些对象?
import org.apache.maven.AbstractMavenLifecycleParticipant;
import org.apache.maven.MavenExecutionException;
import org.apache.maven.execution.MavenSession;
import org.codehaus.plexus.component.annotations.Component;
import org.sonatype.aether.RepositorySystem;
import org.sonatype.aether.RepositorySystemSession;
import org.sonatype.aether.repository.RemoteRepository;
@Component(role = AbstractMavenLifecycleParticipant.class, hint = "skipper")
public class ModuleSkipperLifecycleParticipant extends AbstractMavenLifecycleParticipant {
/**
* @component
*/
private RepositorySystem repoSystem;
/**
* @parameter default-value="${repositorySystemSession}"
* @readonly
*/
private RepositorySystemSession repoSession;
/**
* @parameter default-value="${project.remotePluginRepositories}"
* @readonly
*/
private List<RemoteRepository> remoteRepos;
@Override
public void afterProjectsRead(MavenSession session) throws MavenExecutionException {
super.afterProjectsRead(session);
System.out.println("repoSession: " + repoSession);
System.out.println("repoSystem: " + repoSystem);
System.out.println("remoteRepos: " + remoteRepos);
}
}
看起来很棒,第一次测试,似乎工作 - 我会给它更详细的测试。非常感谢现在!!!!! – domi
虽然我不是使用这个图书馆,它给了我正确的提示 - 谢谢! – domi
不客气:) – yegor256