Разбор maven pom.xml с использованием maven jar - PullRequest
1 голос
/ 10 декабря 2010

Я пытался разобрать maven pom.xml. Я был успешным до некоторой степени. Но моя проблема в том, что я не могу получить значения по умолчанию. Я должен вручную ввести значения по умолчанию. Например, если номер версии не указан в pom.xml, то очевидно, что будет использоваться родительская версия. Если каталог сборки не указан, то он будет целевым.

Мне нужно знать, какие классы мне следует использовать для автоматического заполнения этих объектов. Кроме того, я хотел бы построить график зависимости для меня. Код, который я использую для анализа:

        Model model = null;
    FileReader reader = null;
    MavenXpp3Reader mavenreader = new MavenXpp3Reader();
    try {
        reader = new FileReader(pomfile);
        model = mavenreader.read(reader);
        model.setPomFile(pomfile);

        if (model.getBuild() != null) {
            // location of output directory basically target
            if (model.getBuild().getDirectory() == null) {
            //set the build directory

            } // location of compiled classes
            if (model.getBuild().getOutputDirectory() == null) {
                      // set the classes directory
            }
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
        throw new RuntimeException("pom file not found " + pomfile);
    } catch (IOException e) {
        e.printStackTrace();
        throw new RuntimeException("pom file is not accessible " + pomfile);
    } catch (XmlPullParserException e) {
        e.printStackTrace();
        throw new RuntimeException("unable to parse pom " + pomfile);
    } catch (NullPointerException nullPointerException)
        System.out.println("Exception setting build dir "+model.getPackaging());

    } finally {
        if (reader != null) {
            reader.close();
        }
    }

Спасибо.

1 Ответ

0 голосов
/ 04 февраля 2012

Посмотрите на код для help: target-pom цель плагина или используйте его для выгрузки эффективного POM и xml-анализа результата.

...