通过 运行 Maven 任务使用 Freemarker 生成 txt 文件

Generate txt file using Freemarker through running Maven task

我的目标是通过 运行ning 使用 Freemarker(json + ftl 模板)生成 txt 文件 Maven 任务。我可以使用 Java 生成文件,但我想创建文件,例如在 Maven 生成源阶段。最后,我想 运行 使用 Maven 任务编写脚本,这将构建包含我的 txt 文件的包。

是否可以实现?有什么建议吗?

好的,我通过使用 freemarker-maven-plugin (https://github.com/fugerit79/freemarker-maven-plugin-bck) 实现了这一点。 我已将执行添加到我的 pom:

        <execution>
            <id>freemarker</id>
            <!-- Optional, defaults to generate-sources -->
            <phase>generate-sources</phase>
            <goals>
                <!-- Required, must be generate -->
                <goal>generate</goal>
            </goals>
            <configuration>
                <!-- Optional, defaults to src/main/freemarker -->
                <sourceDirectory>src/main/freemarker</sourceDirectory>
                <!-- Optional, defaults to src/main/freemarker/template -->
                <templateDirectory>src/main/freemarker/template</templateDirectory>
                <!-- Optional, defaults to src/main/freemarker/generator -->
                <generatorDirectory>src/main/freemarker/generator</generatorDirectory>
                <!-- Optional, defaults to target/generated-sources/freemarker -->
                <outputDirectory>target/generated-sources/freemarker/configs/PRD/${mavenTest1}/</outputDirectory>
            </configuration>
        </execution>

和依赖:

<dependency>
    <groupId>de.fenvariel</groupId>
    <artifactId>freemarker-maven-plugin</artifactId>
    <version>1.1</version>
</dependency>

我使用了这个属性:

<properties>
    <mavenTest1>${mavenTest1}</mavenTest1>
</properties>

我的项目结构如下所示:

/main/freemarker/generator  - json file
/main/freemarker/template  - ftl file

当我使用参数调用 Maven 任务 'compile' 时生成了文件,例如

-DmavenTest1=36