Получите MavenProject только из POM.xml - pom parser?

Возможно ли получить экземпляр org.apache.maven.project.MavenProject или какой-либо другой объектной формы POM только из файла pom.xml?

Спасибо заранее.

Ответ 1

да, вы можете. Это код. Вам нужны maven-model-3.0.4.jar и plexus-utils-2.0.6.jar и maven-core-3.0.4.jar

Model model = null;
FileReader reader = null;
MavenXpp3Reader mavenreader = new MavenXpp3Reader();
try {
    reader = new FileReader(pomfile);
    model = mavenreader.read(reader);
    model.setPomFile(pomfile);
}catch(Exception ex){}
MavenProject project = new MavenProject(model);

Ответ 2

Если вы хотите получить MavenProject на основе groupid, artifactId и версии, вы должны запустить внутри плагина maven. И этот код выполнит эту задачу:

ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
configuration.setProcessPlugins( false );
configuration.setRepositorySession( session );
org.apache.maven.artifact.Artifact artifact = new org.apache.maven.artifact.DefaultArtifact(groupId, artifactId, version, "compile", "", "", new DefaultArtifactHandler());
MavenProject project = projectBuilder.build(artifact, configuration).getProject();

Отсутствующие свойства могут быть введены в плагин maven.