开发中需要读取java的注释(不是注解)的方法

在开发中,遇见需要统计项目的资源路径,如果一个一个的录入太过麻烦,所以学习了一下javadoc包

具体代码:

import com.sun.javadoc.ClassDoc;
import com.sun.javadoc.MethodDoc;
import com.sun.javadoc.RootDoc;

/**
 * JavaDoc的使用方法
 */
public class JavaDocUse {
    private static RootDoc rootDoc;
    public static  class Doclet {
        public static boolean start(RootDoc rootDoc) {
            JavaDocUse.rootDoc = rootDoc;
            return true;
        }
    }

    /**
     * 显示DocRoot中的基本信息
      */
    public static void show(){
        ClassDoc[] classes = rootDoc.classes();
        for(ClassDoc classDoc : classes){
            System.out.println(classDoc.name()+
                    "类的注释:"+classDoc.commentText());
            MethodDoc[] methodDocs = classDoc.methods();
            for(MethodDoc methodDoc : methodDocs){
                // 打印出方法上的注释
                System.out.println("类"
                        +classDoc.name()+","
                        +methodDoc.name()+
                        "方法注释:"
                        +methodDoc.commentText());
            }
        }
    }

    public static void main(String[] args) {
        com.sun.tools.javadoc.Main.execute(new String[] {"-doclet",
                Doclet.class.getName(),
                "-encoding","utf-8","-classpath",
                "D:\\work\\base-Server\\target\\classes",
                "D:\\work\\base-Server\\src\\main\\java\\com\\companyName\\base\\controller\\UserController.java"});
        show();
    }
}

执行结果:

target/classes是编译后的源码位置.class所在的位置

这里只是提供获取java的注释,如果需要获取路径请看:

https://blog.csdn.net/jianguang01/article/details/81452856

你可能感兴趣的:(开发中需要的)