이 작업을 수행하는 방법은 로컬 저장소의 이슈 또는 하드 드라이브의 pom 파일에서 프로젝트를 구성 할 것인지 여부에 따라 다릅니다. 어느 쪽이든, 당신은 당신이 모조에과 같이 할 수있는 ProjectBuilder
얻을해야합니다 :
/** @component role = "org.apache.maven.project.ProjectBuilder" */
protected ProjectBuilder m_projectBuilder;
을 로컬의 repo에 유물에서 구축하려면 당신은해야합니다 :
/** @parameter expression="${localRepository}" */
protected ArtifactRepository m_localRepository;
당신은 당신이 당신의 로컬 저장소에서 유물에서 MavenProject
을 구성 할 수 있다는 일단 :
//Construct the artifact representation
Artifact artifact =
new DefaultArtifact(groupId,artifactId,version,scope,type,classifier,new DefaultArtifactHandler());
//Resolve it against the local repository
artifact = m_localRepository.find(artifact);
//Create a project building request
ProjectBuildingRequest request = new DefaultProjectBuildingRequest();
//Build the project and get the result
MavenProject project = m_projectBuilder.build(artifact,request).getProject();
아니면 치어 파일에서
:
File pomFile = new File("path/to/pom.xml");
ProjectBuildingRequest request = new DefaultProjectBuildingRequest();
MavenProject project = m_projectBuilder.build(pomFile,request).getProject();
Maven 2.x에 의존하는 maven-dependency-plugin 용 패치를 작성하려고합니다. 위에서 언급 한 Maven 3.x API를 사용할 수 없습니다. – Gili
그런 경우에는 MavenProjectBuilder 클래스 인 3.x ProjectBuilder에 상응하는 2.x를 사용해야 할 것입니다. @component role = "org.apache.maven.project.MavenProjectBuilder"를 사용하여 인스턴스를 가져올 수 있어야합니다. 대부분의 다른 클래스는 2.x API에 있거나 가까이 있어야합니다. – nonVirtualThunk