은 실제로는 (I 스칼라를 사용하지만 정말 중요하지 않습니다) 아주 간단했다 :
이
import java.io.File
import org.apache.maven.model.Dependency
import org.apache.maven.model.building.{DefaultModelBuilderFactory, DefaultModelBuildingRequest, ModelBuildingRequest}
object POMParser {
def parse(pomXml: File): List[Dependency] = {
val modelBuilder = new DefaultModelBuilderFactory().newInstance()
val req = new DefaultModelBuildingRequest()
req.setPomFile(pomXml)
req.setProcessPlugins(false)
req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL)
val model = modelBuilder.build(req).getEffectiveModel
import collection.JavaConverters._
model.getDependencies.asScala
}
}
이 채워 모든 종속성이 유효 모델을 반환하고 할 상위의 속성에서 모든 자리 POM 파일도 해결됩니다.
OP와 같은 문제가있는 분을 돕는 희망.
구문 분석 된 pomFile이 부모 pom을 정의하는 경우 modelResolver가 필요합니다. – mcoolive