从原型创建项目时更新 pom 中的主类
Posted
技术标签:
【中文标题】从原型创建项目时更新 pom 中的主类【英文标题】:Update main class in pom when creating a project from an archetype 【发布时间】: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
【问题讨论】:
【参考方案1】:您可以在原型的源文件中使用原型变量。这些变量的值将插入到您生成的源文件中。
文件src/main/resources/archetype-resources/src/main/java/Application.java:
package $package;
public class Application
...
将设置包名,Application.java 文件将放在指定包名的正确文件夹中。
【讨论】:
我用一个例子更新了我的问题,因为类中的包引用在生成过程中更新得很好。另外,我的理解是在类中使用占位符会使父应用程序无法运行,不是吗? 您也可以在生成的 pom.xml 中添加这些占位符变量以上是关于从原型创建项目时更新 pom 中的主类的主要内容,如果未能解决你的问题,请参考以下文章
在 pom.xml 中为 Kotlin 中的 Spring Boot 项目指定 Main 类
SpringBoot:无法与maven创建战争。无法找到主类