当前位置: 首页 > 知识库问答 >
问题:

如何获得pom文件的完全解析模型?

暨高洁
2023-03-14

如何获得pom文件的完全解析模型?

private Model pomToModel(String pathToPom) throws Exception {
    BufferedReader in = new BufferedReader(new FileReader(pathToPom));
    MavenXpp3Reader reader = new MavenXpp3Reader();
    Model model = reader.read(in);
    return model;
}

共有1个答案

吕新
2023-03-14

也许对你来说太晚了,但如果它能在未来帮助别人。所以我就这样做了:

@Component
private RepositorySystem repositorySystem;

@Component
private MavenProjectBuilder mavenProjectBuilder;

@Parameter(property = "project.remoteArtifactRepositories")
protected List<ArtifactRepository> remoteRepositories;

@Parameter(property = "localRepository")
protected ArtifactRepository localRepository;

...
Artifact pomArtifact = repositorySystem.createProjectArtifact(groupId, artifactId,version);
MavenProject project = mavenProjectBuilder.buildFromRepository(pomArtifact
                          , remoteRepositories, localRepository);

就这样了。应该管用。如果你有一些特殊的包装(例如捆绑...)在目标pom项目中,确保在当前项目中安装了与这些打包相关联的插件。

 类似资料:
  • 问题内容: 如何获得pom文件的完全解析模型? 这基本上是对我如何以编程方式构建有效的pom文件模型的重新描述? 我正在构建一个对一组模块执行一些验证规则的Maven插件。这些模块的pom文件可用,但执行插件时它们不属于反应堆。 我可以使用此方法读取pom文件并获取相应的Model对象(为简单起见,删除了异常处理): 它可以工作,但是Model对象仅具有与pom文件相同的信息。 如何改进该方法,以

  • 本文向大家介绍Android Scroller完全解析,包括了Android Scroller完全解析的使用技巧和注意事项,需要的朋友参考一下 在Android中,任何一个控件都是可以滚动的,因为在View类当中有scrollTo()和scrollBy()这两个方法,如下图所示: 这两个方法的主要作用是将View/ViewGroup移至指定的坐标中,并且将偏移量保存起来。另外: mScrollX

  • JSON 格式 使用  JSON schema 模式来记录和验证格式,你也可以在 https://getcomposer.org/schema.json 中来参照。 根项目 根项目是由当前项目目录下的 composer.json 定义的项目,composer.json 中定义了您当前项目的依赖项。 某些字段仅在根项目中的上下文中应用,举个例子, config 字段,只有根项目才能定义和配置,依赖项

  • 问题内容: 到目前为止,我的目标是在Rust中解析此JSON数据: 并且是 我下一步应该解析什么?我的主要目标是获取这样的JSON数据,并从其中解析密钥(例如Age)。 问题答案: Serde是首选的JSON序列化提供程序。您可以通过多种方式从文件中读取JSON文本。将其作为字符串使用后,请使用: Cargo.toml: 您甚至可以使用类似的方法直接从已打开的读取。 Serde可以用于JSON以外

  • 问题内容: 是否可以仅从pom.xml文件获取POM 的实例或其他对象形式? 提前致谢。 问题答案: 是的你可以 。这是代码。您需要maven-model-3.0.4.jar和plexus-utils-2.0.6.jar和maven- core-3.0.4.jar

  • 我有一个txt文件,里面有数据,我需要解析这些数据: 我想把它解析成一个模型: 我尝试使用下一段代码将txt文件转换成我需要的数据: 但我得到的下一个数据是重复的: 我做错了什么?我怎样才能得到我想要的?