org.apache.maven.project.MavenProject
또는 POM의 다른 객체 형식을 pom.xml 파일에서 가져올 수 있습니까?POM.xml - pom 파서에서 MavenProject를 가져 옵니까?
미리 감사드립니다.
org.apache.maven.project.MavenProject
또는 POM의 다른 객체 형식을 pom.xml 파일에서 가져올 수 있습니까?POM.xml - pom 파서에서 MavenProject를 가져 옵니까?
미리 감사드립니다.
예 가능합니다. 이것은 코드입니다. 당신은 그룹 ID를 기반으로 MavenProject을 얻고 싶은 경우에 당신은 받는다는 모델-3.0.4.jar와 총-utils를-2.0.6.jar와 받는다는 코어-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);
쿨, 고마워. 이 작동합니다. – javamonkey79
해결책을 시도했지만 getCompileSourceRoots()가 빈 목록을 반환하는 것처럼 예상했던 MavenProject 객체의 일부 필드를 채우지 않습니다. – javydreamercsw
pom 파일을 읽는 것은 변수, 상속 된 설정 (부모와 그 부모) 등의 데이터 보간을 포함하지 않습니다. – carlspring
필요 artifactId를 및 메이븐 플러그인 내부에서 실행해야하는 버전. 그리고이 코드는 작업을 수행합니다 :
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 플러그인에 삽입 할 수 있습니다.
왜 당신은 그것을 원하십니까? 달성하려는 것은 무엇입니까? –
CI 서버에보고. – javamonkey79