Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
如何在org.apache.maven.AbstractMavenLifecycleParticipant中使用乙醚_Maven_Maven 3_Maven Plugin_Aether - Fatal编程技术网

如何在org.apache.maven.AbstractMavenLifecycleParticipant中使用乙醚

如何在org.apache.maven.AbstractMavenLifecycleParticipant中使用乙醚,maven,maven-3,maven-plugin,aether,Maven,Maven 3,Maven Plugin,Aether,我遵循此示例将所需的依赖项注入到AbtractMavenLifecyleParticipant中: “afterProjectsRead”的调用非常完美,但repoSystem、repoSession和remoteRepos始终为“null” 如何从AbstractMavenLifecyleParticipant中获取这些对象 import org.apache.maven.AbstractMavenLifecycleParticipant; import org.apache.mave

我遵循此示例将所需的依赖项注入到AbtractMavenLifecyleParticipant中:

“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);

    }
}
import org.apache.maven.AbstractMavenLifecycleParticipant;
导入org.apache.maven.MavenExecutionException;
导入org.apache.maven.execution.MavenSession;
导入org.codehaus.plexus.component.annotations.component;
导入org.sonatype.ether.RepositorySystem;
导入org.sonatype.ether.RepositorySystemSession;
导入org.sonatype.ether.repository.RemoteRepository;
@组件(role=AbstractMavenLifecycleParticipant.class,hint=“skipper”)
公共类模块KipperLifecycleParticipant扩展了AbstractMavenLifecycleParticipant{
/**
*@组件
*/
私人回购系统;
/**
*@parameter default value=“${repositorySystemSession}”
*@readonly
*/
私有RepositorySystemSession reposition;
/**
*@parameter default value=“${project.remotePluginRepositories}”
*@readonly
*/
私人回购;
@凌驾
public void afterProjectsRead(MavenSession会话)抛出MavenExecutionException{
super.afterProjectsRead(会议);
System.out.println(“repoSession:+repoSession”);
System.out.println(“repoSystem:+repoSystem”);
System.out.println(“remoteRepos:+remoteRepos”);
}
}
我们就是这样做的:

final File repo=this.session.getLocalRepository().getBasedir();
最终收集deps=new-ether(this.getProject(),repo).resolve(
新的DefaultArtifact(“junit”、“junit dep”、“jar”、“4.10”),
JavaScopes.RUNTIME
);
也许你可以直接使用这个库,而不是自己编写它。

我们就是这样做的:

final File repo=this.session.getLocalRepository().getBasedir();
最终收集deps=new-ether(this.getProject(),repo).resolve(
新的DefaultArtifact(“junit”、“junit dep”、“jar”、“4.10”),
JavaScopes.RUNTIME
);

也许你可以直接使用这个库,而不是自己编写它。

看起来不错,第一个测试似乎很有效-我会给它一个更详细的测试。现在非常感谢!!!!!虽然我不打算使用这个库,但它给了我正确的提示-谢谢!这看起来很好,第一个测试似乎有效-我将对它进行更详细的测试。现在非常感谢!!!!!虽然我不打算使用这个库,但它给了我正确的提示-谢谢!
final File repo = this.session.getLocalRepository().getBasedir();
final Collection<Artifact> deps = new Aether(this.getProject(), repo).resolve(
  new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
  JavaScopes.RUNTIME
);