【问题标题】:Update main class in pom when creating a project from an archetype从原型创建项目时更新 pom 中的主类
【发布时间】:2021-12-16 21:47:31
【问题描述】:

我正在开发一个利用 Maven Archetypes 的应用程序。我已经从中创建了一个原型和一个项目,但是 pom 文件中的主类引用没有得到更新,导致生成的项目(具有不同的包名称)引用了原始项目的主类。在衍生项目的生成过程中如何更新?

例如: 如果父项目在包com.my_company.artifact_a 中有Application.class,那么在pom 中我们有一个com.my_company.artifact_a.Application 的引用;当我们生成具有不同组和工件 id 的派生时,这意味着现在应用程序位于假设 com.your_company.artifact_b.Application 中,当我希望将其更新为新的时,pom 文件中的引用仍将是 com.my_company.artifact_a.Application运行时的信息maven archetype:create-from-project

【问题讨论】:

    标签: spring-boot maven pom.xml spring-boot-maven-plugin archetypes


    【解决方案1】:

    您可以在原型的源文件中使用原型变量。这些变量的值将插入到您生成的源文件中。

    文件src/main/resources/archetype-resources/src/main/java/Application.java:

    package ${package};
    
    public class Application {
    ...
    }
    

    将设置包名,Application.java 文件将放在指定包名的正确文件夹中。

    【讨论】:

    • 我用一个例子更新了我的问题,因为类中的包引用在生成过程中更新得很好。另外,我的理解是在类中使用占位符会使父应用程序无法运行,不是吗?
    • 您也可以在生成的 pom.xml 中添加这些占位符变量
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    • 2011-06-28
    • 2011-08-18
    • 1970-01-01
    • 2014-12-29
    • 2016-07-19
    • 2015-06-05
    相关资源
    最近更新 更多