【问题标题】:Programmatically generating pom.xml以编程方式生成 pom.xml
【发布时间】:2011-04-27 07:52:02
【问题描述】:

我正在从 Eclipse 插件创建一个新的 maven 项目。 在我看来,将 pom.xml 硬编码到我的插件是一个坏主意。有没有办法以编程方式生成此插件,以便插件更易于维护?

我自己也从插件创建 maven 项目结构似乎也是一个坏主意! 有没有 api 来做这个品尝? (创建一个maven项目,添加我的依赖)

我目前正在做的是创建文件夹,编写一个 .classpath 文件(硬编码),将 maven 性质注入 .project 文件,现在尝试生成 pom.xml。 看到 pom.xml 我认为为当前版本的 maven 编写一个插件不会做得很好。

【问题讨论】:

    标签: eclipse plugins maven pom.xml


    【解决方案1】:

    不确定您想要/需要做什么,但您可以使用 Maven 模型 API 中的 MavenXpp3Writer#write() 方法从给定的 Model 编写 POM。

    【讨论】:

    • +1 帮助了我很多。我还有一个问题。我正在修改现有的 pom。当我编辑我的 pom 时,我能以某种方式坚持原始格式吗?当我保存时,我的新 pom 的格式都不同,并且所有 cmets 都被省略了。
    【解决方案2】:

    听起来你正在尝试做 maven 原型的工作

    mvn eclipse:eclipse
    

    【讨论】:

    • 不完全是!如果是这样,我将在每次调用插件时创建一个 Archtype。
    • 您可以检查是否存在适当的结构,如果不存在则执行 mvn。显然,您也可以创建自己的原型。也许这就是要走的路...创建自定义原型,插件通过将用户提供的详细信息插入原型调用来创建新项目
    • 插件如何知道我的archtype存在于客户端?还是您的意思是先添加archtype,然后让插件调用它来创建项目?
    • @NS Gopikrishnan:原型创建了您告诉它的项目结构。您可以通过查找项目结构独有的内容来检查原型是否已运行,例如pom.xml 和您自定义的 .classpath 可能。我认为最好的方法是将 mvn archetype 命令绑定到新项目的创建中。
    猜你喜欢
    • 1970-01-01
    • 2010-09-06
    • 2018-06-23
    • 2018-08-14
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多