首页>Program>source

是否有一个命令行工具(最好是在JDK中),可以将所有注释print在类文件中,还是将特定注释作为print参数?

如果是这样,是否有一个等效命令可以在其中包含的特定类的jar文件上运行?

我已经用谷歌搜索了一段时间,没有运气. :(

最新回答
  • 2天前
    1 #

    如果我错了,请更正我,但我认为,除非您对Annotations本身使用Annotation @Retention(RetentionPolicy.RUNTIME),否则编译器会从类中剥离注释.将不会保留在类文件中。 如果注释保留在类文件中,则可以使用javap(jdk的一部分)来查看这些注释:

    javap my.package.MyClass
    

    更新:这似乎需要JDK7,JDK6的javap不会print注释,但是您可以使用华盛顿大学网站上的以下工具来提取注释信息:

    Annotation-utilities

  • 2天前
    2 #

    在Javap 1.7或更高版本中使用-verbose或-v标志将显示保留的注释。

    示例:

    javap -p -v ./services/target/windup-web-services/WEB-INF/classes/org/jboss/windup/web/services/model/RegisteredApplication.class
     #50 = Utf8   Ljavax/persistence/Column;
     #64 = Utf8   Lorg/jboss/windup/web/services/validators/NotBlankConstraint;
     #67 = Utf8   Ljavax/validation/constraints/Size;
    ...
    private java.lang.String title;
      descriptor: Ljava/lang/String;
      flags: ACC_PRIVATE
      RuntimeVisibleAnnotations:
        0: #50(#62=I#63)
        1: #64(#65=s#66)
        2: #67(#68=I#69,#70=I#63,#65=s#71
    

  • javascript:使用CSS和HTML5使用梯形创建导航按钮
  • 找不到android ContextCompatcheckSelfPermission()