gpt4 book ai didi

框架的 Java 代码生成

转载 作者:行者123 更新时间:2023-11-29 08:53:58 28 4
gpt4 key购买 nike

关闭。这个问题是 opinion-based 。它目前不接受答案。












想改进这个问题?更新问题,以便可以通过 editing this post 用事实和引用来回答它。

8年前关闭。




Improve this question




我正在为家庭自动化系统开发基于 java 的框架。这个家庭自动化系统的要求之一是开发人员应该能够轻松地扩展功能。我认为简化事情的一个好方法是允许开发人员创建一个简单的 XML 文件来描述其外围设备的特性;即它可以处理的命令和它可以广播的事件。 (类似于 Wig Wag 等系统中的 WHEN 和 THEN 事件:http://www.kickstarter.com/projects/wigwag/wigwag-scan-it-control-it-rule-it-share-it)

我想解析开发人员提供的 XML 文件并自动生成 Java 代码以与系统的其余部分交互,有点像谷歌在 Android SDK 中使用他们的 R.java 文件所做的事情。 (我意识到这是由 APT 而不是 Eclipse 处理的)
我看过的一些解决方案:

  • Eclipse Java Emitter Templates (JET) - JET 使用起来非常复杂,文档很差/不存在。我得到它来生成一个带有 generate() 方法的 Java 实现文件,但我不知道如何让 IDE 生成我在模板中定义的 Java 代码。
    我试过这个教程:https://weblogs.java.net/blog/survivant/archive/2009/01/template_code_g.html 但我无法让 Car 示例工作;我收到此错误:

  • Errors occurred during the build.

    Errors running builder 'JET Builder' on project 'JETTest'.

    Bad directive in 'main.jet' at line 1 column 1

    Bad directive in 'main.jet' at line 1 column 1

    Bad directive in 'main.jet' at line 1 column 1

    Bad directive in 'main.jet' at line 1 column 1




  • JAXB - 这似乎更适合编码/解码 Java 对象,并不能解决我的问题
  • ANT Compiler - 我用它来生成一个类,但它不是我想要的那么灵活(例如,我希望能够从开发人员定义的 XML 中获取包名称,但输出目录是在 ANT 中静态分配的build.xml 文件。)
  • Apache Velocity - 看了一眼,但我已经对 JET 感到沮丧,粗略检查后它似乎不是一个很好的解决方案。 (我很高兴被证明是错误的:))

  • 到目前为止,ANT 解决方案对我来说是最好的,因为它确实有效,但我喜欢 JET,因为它似乎工作最顺畅。

    现在我的问题。我应该选择 ANT,还是 JET 更好?此外,如果 JET 更好,有人可以指出一个简单的教程,它不是完全过时的吗?

    最佳答案

    我是这样看的 -
    使用更容易使用的框架或工具。更重要的是有良好的文档。所以 ANT 看起来是你最好的选择。

    但是,我可以建议一个不同的选择 - Groovy 模板。
    http://groovy.codehaus.org/Groovy+Templates

    做同样的工作,但使用起来非常简单,并且有很好的文档。我们在公司中使用它来转换来自一些非常旧的系统的订单。

    关于框架的 Java 代码生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21316443/

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