在没有Eclipse的情况下运行JET模板
我需要使用maven项目从jet模板生成java代码,这应该在eclipse环境之外完成,但到目前为止我还没有弄清楚如何做到这一点 我使用的是maven 3x和jet 1.1.x 我尝试过几种方法,但似乎都不管用:在没有Eclipse的情况下运行JET模板,eclipse,maven,eclipse-m2t-jet,Eclipse,Maven,Eclipse M2t Jet,我需要使用maven项目从jet模板生成java代码,这应该在eclipse环境之外完成,但到目前为止我还没有弄清楚如何做到这一点 我使用的是maven 3x和jet 1.1.x 我尝试过几种方法,但似乎都不管用: 调用库org.eclipse.emf.codegen.jet.JETCompiler。这个库似乎对eclipse的环境有很强的依赖性,因此失败了 maven的一个jet插件也不起作用,我使用的示例与官方网站([tikal maven jet plugin][1])中提供的示例相同,
- 调用库org.eclipse.emf.codegen.jet.JETCompiler。这个库似乎对eclipse的环境有很强的依赖性,因此失败了
- maven的一个jet插件也不起作用,我使用的示例与官方网站([tikal maven jet plugin][1])中提供的示例相同,如下所示:
Carlos由于JET的工作方式,它实际上只能在eclipse环境中运行。然而,实际上可以无头启动eclipse来运行ant构建脚本,这样您就可以在没有UI的情况下获得需要运行的eclipse部件。为此,您需要启动org.eclipse.ant.core.antRunner应用程序。这里有一些关于如何做到这一点的文档: 启动antRunner应用程序后,可以使用JET ant任务编译模板并运行转换: 关于无头模板编译,有一些重要的注意事项,如果您正在无头编译eclipse插件,则这些注意事项是相关的,如下所述:
我不确定这些与Maven的集成程度如何,但这似乎是ant的最佳方法。如果您想从Java运行转换,这里有一些信息:。不过,您仍然需要在eclipse环境中才能工作。tikal maven jet插件对我很有用 这是我在
src/main/templates/generator.JET中使用的一个JET文件示例,我不使用EMF类,只使用标准映射
<%@ jet class="TableModelGenerator" package="net.trajano.framework.tool" %>
<% java.util.Map meta = (java.util.Map)argument; %>
package <%=meta.get("PackageName")%>;
public class <%=meta.get("ClassName")%> {
}
包裹
公共课{
}
我使用的插件配置是
<plugin>
<groupId>com.tikal</groupId>
<artifactId>tikal-maven-jet-plugin</artifactId>
<version>0.4.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<includeTemplates>
<include>**/*.jet</include>
</includeTemplates>
</configuration>
</plugin>
com.tikal
tikal maven jet插件
0.4.0
生成源
生成
**/*杰特先生
试过了,很多东西都不起作用。与多行上的imports
一样,StringBuffer
变量被称为builder
,而不是StringBuffer
,逃逸问题\“
…当然还有很多我自己做的,可以满足我的需要,但它是非常基本的无标记库之类的。