gpt4 book ai didi

java - 我如何在 Maven 中使用模板代码生成器(例如 freemarker)?

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:00 31 4
gpt4 key购买 nike

您如何将 Freemarker(或替代方案)作为模板代码生成器构建到 Maven 项目中?我是 Maven 的新手,希望得到一些帮助。

我想从我的项目中的模板生成一些代码。 [一个]

谷歌搜索找到了 freemarker 而不是我自己写的,它似乎被 Spring 使用,这对我来说是一个足够好的引用,尽管我还没有开始使用它,任何其他与 Maven 一起工作的建议将不胜感激也是。

This website 告诉我如何将它作为依赖项添加到我的 pom.xml 中。 This SO question 告诉我生成的源应该去哪里。我无法解决的是如何将它们结合在一起,所以我从模板中生成生成的源,然后我生成的源像常规源一样用于编译、测试、jar、javadoc 等。有没有其他人使用过maven 中的 java 模板代码生成器,可以提供帮助吗?

[a] 我知道泛型是通常的解决方案,事实上我正在使用它们,但我必须使用模板来处理原始情况,而不会引入复制/粘贴错误。请相信我:-)

最佳答案

我为此编写了一个 maven 插件。它使用 FreeMarker 预处理器。

这是 pom.xml 中突出显示其用法的片段:

<plugins>
<plugin>
<configuration>
<cfgFile>src/test/resources/freemarker/config.fmpp</cfgFile>
<outputDirectory>target/test/generated-sources/fmpp/</outputDirectory>
<templateDirectory>src/test/resources/fmpp/</templateDirectory>
</configuration>
<groupId>com.googlecode.fmpp-maven-plugin</groupId>
<artifactId>fmpp-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>

这里的 cfgFile 是您保存 FMPP 配置文件的路径。 (如果您不使用任何传入 FreeMarker 的特殊数据,那么一个空文件就足够了)templateDirectory 是您保存 FreeMarker 模板的地方。outputDirectory 是您希望生成输出文件的位置。

我正在编写突出显示插件用法的详细文档,并将更新 project website相应地。

关于java - 我如何在 Maven 中使用模板代码生成器(例如 freemarker)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3925057/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com