代码之家  ›  专栏  ›  技术社区  ›  Andrey Adamovich

Java源代码生成框架[关闭]

  •  7
  • Andrey Adamovich  · 技术社区  · 16 年前

    最好的办法是什么?有没有好的独立库用于Java代码分析/生成?在此领域的任何共同经验都将不胜感激。

    到目前为止,我发现了这些:

    4 回复  |  直到 16 年前
        1
  •  1
  •   Tomislav Nakic-Alfirevic    16 年前

    netbeanside和eclipsejdt项目都有相当多的Java代码分析/生成逻辑。我不知道它们的依赖关系是什么(即,您可以将它们用作独立的lib),但除此之外,我将仔细研究这两个:不太可能有一个java代码分析库正在进行更深入的开发和更新。

    更新:

    PMD 可能也会感兴趣:

    PMD扫描Java源代码并查找潜在问题,如:

    * Possible bugs - empty try/catch/finally/switch statements
    * Dead code - unused local variables, parameters and private methods
    * Suboptimal code - wasteful String/StringBuffer usage
    * Overcomplicated expressions - unnecessary if statements, for loops that could be while loops
    * Duplicate code - copied/pasted code means copied/pasted bugs
    

    另外,这个 blog 本文讨论了各种静态代码分析工具。

        2
  •  4
  •   Jordan S. Jones    13 年前
        3
  •  3
  •   Andrey Adamovich    16 年前

        final Java15Parser parser = new Java15Parser();
        final FileInputStream stream = new FileInputStream("VehicleServiceType.java");
    
        final Object c = parser.parse(new InputStreamReader(stream));
    
        final XPath xpath = new BaseXPath("//TypeDeclaration/Annotation/NormalAnnotation[Name/@Image = 'WebService']",
            new DocumentNavigator());
    
        for (final Iterator iter = xpath.selectNodes(c).iterator(); iter.hasNext();) {
          final Object obj = iter.next();
          // Do code generation based on annotations...
        }
    
        4
  •  0
  •   Leo    12 年前

    它并不完全是一个代码生成器,但是如果您需要一些与bean相关的功能,apachebeanutils可以节省时间

    http://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.1/apidocs/org/apache/commons/beanutils/package-summary.html#dynamic