maven - 通过运行 Maven 任务使用 Freemarker 生成 txt 文件
问题描述
我的目标是通过运行 Maven 任务使用 Freemarker(json + ftl 模板)生成 txt 文件。我能够使用 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 任务“编译”时,文件已经生成,例如
-DmavenTest1=36
推荐阅读
- c++ - 如何使用 std::allocator
适当地在 Vector 实现中 - reactjs - 无法触发“点击”事件 - 请提供 DOM 元素 - 单选按钮 JestJs
- python - 为什么我不能在 QGIS 中进行 TIN 插值?
- reactjs - 在 xState 操作中,如何访问私有 _state?
- laravel - Laravel:如何在 laravel Blade 中使用 Group By?
- git - 每当我尝试执行 git clone,git pull 时,Git 都会询问错误 URL 的密码
- c - 如何设计一个可以独立调用多次的后台进程?
- python - 如何用python用'#'替换字符串中的每个连续字符?
- c++ - 何时在 C++ 中使用 char 数组而不是字符串?
- javascript - 如何使用 JS 将一个元素的 ID 移动到另一个元素