maven java读取maven的pom.xml文件

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

可以使用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 outofmemory.cn 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 )
{
     ...
}

标签: 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:Android选择本地图片并裁剪工具类

下一篇:CSS3实现的动画效果下拉导航菜单效果