2010-12-10 2 views
1

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

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

 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

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

Смежные вопросы