Java 如何在Maven中使用模板代码生成器(如freemarker)?
您将如何构造(或替代)作为Maven项目中的模板代码生成器?我对Maven很陌生,希望能得到一些帮助 我想从项目中的模板生成一些代码。[a] 谷歌搜索发现,which似乎使用了which,这对我来说是一个足够好的参考,而不是写我自己的,尽管我还没有开始写它,任何其他对Maven有用的建议也将不胜感激 告诉我如何将其作为依赖项添加到pom.xml。 告诉我生成的源应该去哪里。我无法解决的是如何将它们联系在一起,所以我从模板中生成了我的生成源,然后我的生成源被用作编译、测试、jar、javadoc等的常规源。还有人在maven中使用过java的模板代码生成器吗Java 如何在Maven中使用模板代码生成器(如freemarker)?,java,maven-2,freemarker,templating,Java,Maven 2,Freemarker,Templating,您将如何构造(或替代)作为Maven项目中的模板代码生成器?我对Maven很陌生,希望能得到一些帮助 我想从项目中的模板生成一些代码。[a] 谷歌搜索发现,which似乎使用了which,这对我来说是一个足够好的参考,而不是写我自己的,尽管我还没有开始写它,任何其他对Maven有用的建议也将不胜感激 告诉我如何将其作为依赖项添加到pom.xml。 告诉我生成的源应该去哪里。我无法解决的是如何将它们联系在一起,所以我从模板中生成了我的生成源,然后我的生成源被用作编译、测试、jar、javadoc等
[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>
src/test/resources/freemarker/config.fmpp
目标/测试/生成源/fmpp/
src/test/resources/fmpp/
com.googlecode.fmpp-maven-plugin
相应地。这里是该作业的另一个插件:
<> P>从问题的最初描述听起来好像你应该考虑创建一个Maven原型(AKA项目模板):
听起来你可能想在等式中添加一些属性:
Maven原型功能还提供了一种使用ApacheVelocity进行替换的方法(与Freemarker接近)。。。但我还没有弄清楚这一点。文档进展如何?:-)我不知道如何将pom中的值(例如,project.version)传递给freemarker插件,这样freemarker插件就可以知道这些值了。谢谢你的插件!这对我刚写的图书馆来说非常有用@bacar:看一看Brandon Mintern的GitHub项目中的一个很好的工作示例:遗憾的是,即使是GitHub端口和forks也有很多技术债务,所以它看起来不可用。我认为原型方法在代码生成器项目中不起作用。