欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java读取maven的pom.xml文件,javamavenpom.xml,可以使用maven官方的

来源: javaer 分享于  点击 33718 次 点评:77

java读取maven的pom.xml文件,javamavenpom.xml,可以使用maven官方的


可以使用maven官方的 maven-model里的MavenXpp3Reader类来读取pom.xml文件, 需要引用maven jar包:

        <dependency>            <groupId>org.apache.maven</groupId>            <artifactId>maven-model</artifactId>            <version>3.0</version>        </dependency>

当然,也可以直接找到pom的安装路径下的lib目录找到maven-model-3.1.0.jar文件,引用到项目中。

import org.apache.maven.model.Model;import org.apache.maven.model.io.xpp3.MavenXpp3Reader;import org.codehaus.plexus.util.xml.pull.XmlPullParserException;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;/** * Created by byrx.net on 2015/10/21. */public class Main {    public static void main(String[] args) throws IOException, XmlPullParserException {        MavenXpp3Reader reader = new MavenXpp3Reader();        String myPom = System.getProperty("user.dir") + File.separator + "pom.xml";        Model model = reader.read(new FileReader(myPom));    }}

如果你需要解析pom的父pom,以及父依赖等信息,需要用到ModelBuildingRequest 类,实例代码如下。

ModelBuildingRequest req = new DefaultModelBuildingRequest();req.setProcessPlugins( false );req.setPomFile( file );req.setModelResolver( new RepositoryModelResolver( basedir, pathTranslator ) );req.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );Model model;try{    model = builder.build( req ).getEffectiveModel();}catch ( ModelBuildingException e ){     ...}
相关栏目:

用户点评