【问题标题】:Generate txt file using Freemarker through running Maven task通过运行 Maven 任务使用 Freemarker 生成 txt 文件
【发布时间】:2021-11-28 10:55:40
【问题描述】:

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

有可能实现吗?有什么建议吗?

【问题讨论】:

    标签: maven freemarker


    【解决方案1】:

    好的,我通过使用 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 任务“编译”时,文件已经生成,例如

    -DmavenTest1=36 
    

    【讨论】:

      猜你喜欢
      • 2016-01-28
      • 1970-01-01
      • 2017-11-02
      • 2017-07-19
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2012-10-15
      • 2016-12-21
      相关资源
      最近更新 更多