Tag: 代码生成

如何使用jOOQ代码生成器和Maven的自定义策略?

使用jOOQ ,我可能希望将jOOQ代码生成器与Maven和自定义生成器策略结合使用。 看起来好像可以这样做(省略不相关的部分): org.jooq jooq-codegen-maven 2.2.2 generate org.jooq.util.DefaultGenerator com.example.MyStrategy 以上配置描述了该问题。 jOOQ的代码生成器挂钩到Maven生命周期的生成目标,该生成目标发生在生命周期的编译目标之前。 但是,对于代码生成,它需要预编译的自定义策略类,否则我将获得ClassNotFoundException 。 如何用Maven解决这个问题? 我可以在执行generate目标之前编译单个类吗?

如何在eclipse中生成构造函数

我有一个类A和BM扩展A.现在我想要使用eclipse的代码生成选项创建一个B的构造函数,它接受B的所有字段的参数和设置值(我的意思是它也应该设置从Ainheritance的字段)。 有没有在eclipse中生成这样的代码的快捷方式?

没有实现类的接口实例

我有一个JET模板,用于为接口实现类生成代码。 我无法想出一个可执行的测试类来打印出这个生成的代码,因为我无法获得从JET模板创建的generate方法的参数的对象。 我希望测试类能够像这样工作: /** * An executable test class that prints out exemplary generator output * and demonstrates that the JET template does what it should. */ public class TestClass { public static void main(String args[]) throws ClassNotFoundException, InstantiationException, IllegalAccessException { String className = “A”; // “A” is the name of the interface in the […]

如何让Hibernate Tools用toString,equals和hashcode生成POJO?

用于eclipse的Hibernate Tools插件(版本3.2.4) 大家好, 我正在使用插件从我的DB-Schema中反向设计我的POJO和DAO,并且由于某种原因,在POJO中没有创建toString,equals和hashcode方法。 我正在做的是以下内容:创建一个新的JPA项目。 配置它的persistence.xml文件,如下所示: org.hibernate.ejb.HibernatePersistence false 创建了一个hibernate.reveng.xml文件,只在我的目录中选择我的dbo scehma。 然后创建一个类型为JPA的Hibernate控制台配置和从JPA配置获取的连接,最后配置持久性单元。 使用Hibernate代码生成配置创建一个新配置,我在其中启用了“从JDBC连接反向工程”,定义了输出目录,包和reveng文件。 此外,我检查了该选项卡中的所有复选框(除了使用自定义模板)。 在我使用的导出器选项卡中: 1.使用Java 5语法。 2.生成EJB3注释。 并使用“域代码”和“DAO代码”导出器。 这很好(在解决了DTP插件兼容性的一些问题之后)。 主要问题是我在Pojo.ftl中看到以下表达式: 在PojoToString.ftl我看到: 我在哪里可以设置这个属性? 我希望我的所有pojos都需要toString,equals和hashcode? 先感谢您

如何在低(汇编)级别捕获和处理exception?

我有这个代码 – try { doSomething(); } catch (Exception e) { e.printStackTrace(); } 这将如何实际由编译器实现。 实际放入汇编代码生成的exception检查在哪里? 更新 我知道上面的代码是如何转换为字节码的 。 字节码仅将try-catch转换为相应的try-handler块。 我感兴趣的是它将如何转换为汇编/并由jvm处理。

使用Asm字节码生成器生成具有generics类型的方法(ClassWriter)

使用Asm很容易定义简单的getter和setter(幸运的是,甚至在他们的FAQ中也有解释)。 但有一件事未提及,而我无法找到文档,是如何使用generics类型信息来实现这些。 我实际上能够很容易地确定generics类型信息(因为代码将采用现有的字段和/或方法,并且存在完整的generics类型处理和解析)。 我只需要为包含generics类型的类型生成generics版本。 我希望这就像修改签名的Asm ClassWriter / MethodVisitor调用一样容易,但文档中的一些注释表明它可能不那么容易(因为generics信息存储在与常规信息不同的位置)。 编辑 :看起来入口点是“ClassWriter.visitField / Method(….,String signature) – 请注意,它的”描述“包含正常的非generics类信息,但术语”签名“(在JLS中)具体指的是到generics – 包括类型信息。

JAXB类型问题

我有一个看起来像这样的xsd(片段): 出于某种原因,这是生成的Java代码: @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = “IDType”, propOrder = { “fileID” }) public class PatientIDType { @XmlElementRefs({ @XmlElementRef(name = “FileED”, namespace = “http://www.surescripts.com/messaging”, type = JAXBElement.class), @XmlElementRef(name = “IDNumber1”, namespace = “http://www.surescripts.com/messaging”, type = JAXBElement.class), @XmlElementRef(name = “Number”, namespace = “http://www.surescripts.com/messaging”, type = JAXBElement.class), @XmlElementRef(name = “PNumber”, namespace = “http://www.surescripts.com/messaging”, type = JAXBElement.class), @XmlElementRef(name = “SS”, […]

是否有Java语言的Java解析器?

我正在寻找一个允许我解析java源文件的java库,它为我提供了代码的AST表示。 实际上我只对带有注释的类和方法定义感兴趣。 我不需要方法代码的AST。 我正在使用此信息进行代码生成。 这就是我无法首先编译源文件以从结果类文件中获取信息的原因。 在生成一些额外的类之前,代码不会在没有错误的情况下编译。

是否有Java库从AST生成类文件?

这个页面描述了我如何使用javac中的代码生成器来生成代码,因为我可以构建一个AST(使用我编写的单独的解析器)。 该技术涉及编辑javac的源代码以基本绕过Java解析器,以便可以将他/她自己的AST提供给代码生成器。 这可能有用,但我希望以稍微清洁的方式做到这一点。 我想在我的项目中包含生成javac的代码作为库的代码,这样我就可以用它来生成代码,而不会带来javac源代码的其余部分。 有没有办法用javac做到这一点,或者是否有更好的库? 此外,随时更改问题的标题。 我想不出更好的一个,但它有点含糊不清。 如果你建议编辑一个更好的标题,我会接受它。

Maven中的代码生成

我想从接口自动生成一些java类。 我的第一个想法是编写代码生成器,并将其集成为maven插件。 我正在考虑创建一个maven插件,其中包含在构建过​​程中调用的codegen目标。 因此,如果我选择此路由,如何为插件提供要处理的接口? 生成的文件应该放在哪里? 是否有任何现有的插件可以配置为生成默认的类实现?