java - 创建一个 Maven 原型(prototype)以从一个类模板生成多个类

标签 java maven maven-archetype

我创建了一个自定义 Maven 原型(prototype),它有一个 ClassName.java 类,该类包含属性 ${propertyName} 及其 getter 和 setter。

package ${package};

// Start of user code (import)

// End of user code (import)

/**
 * Block ${BlockName}
 */
public class ${BlockName} extends Block<${BlockName}DTO> {

    /**
     * Item  ${itemName}
     */
    private final Item<${itemType}> ${itemName} = new Item.Control<${itemType}>(this, "${itemName}") {

    };

    // Getter and Setter

}

从这个自定义原型(prototype)创建新项目时,我想要实现的目标是给出多个类名称(例如:Car、Bicycle ...),并为每个类提供多个属性(例如:Car.door、 Car.window、Bicycle.wheel ...),并将从模板 ClassName.java 创建的类作为 Car.java 和 Bicycle.java 作为输出,但在每个类中,将 ${itemName}、getter 和 setter 替换为给定的属性。

最佳答案

您可以为此编写一个 groovy 脚本并在生成后运行它

Is there a way to post-process project generated from archetype?

另一方面:生成 getter/setter 是标准 IDE 功能(例如,在 Eclipse 中轻松完成),因此我不确定这在原型(prototype)中是否真的有用。

关于java - 创建一个 Maven 原型(prototype)以从一个类模板生成多个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54980337/

相关文章:

maven-2 - Maven struts2 模块化原型(prototype)无法生成!

java - JFrame.setVisible(true) 不断迭代其父方法,直到发生 stackOverflowError

java - Eclipse 中项目文件夹旁边的 "S"的含义

java - 在 Java 中创建健壮的多线程可扩展应用程序时需要考虑哪些问题?

java - WARN : org. springframework.web.servlet.PageNotFound - 在名称为 'spring' 的 DispatcherServlet 中找不到带有 URI [] 的 HTTP 请求的映射

Maven-webstart-plugin 包含运行时依赖项

Maven 原型(prototype) : String replacement not working

java - 当不包含可选查询时 Swagger 抛出 400 错误

maven - 带有 Maven 的 Java 9 - 找不到模块

java - 如何在 Maven 原型(prototype) XML 中调用 Java 方法