最近写了一个使用注解的mvc的spring框架,这个框架的基础就是要读取到工程中的带有注解的类。
我的实现方法是将工程中的目录全部读取匹配得到.class后缀的所有路径的list,再用class.forname加载对应的类并且将注解读取判断是否为定义的注解。然后使用一个map装起来,在用到的时候拿出来。但是问题来了,我将项目打包jar之后程序是不能够读取到文件的。也就是说获取不到类的全路径如:cn.com.smq.Test 这样的字符串。有没有什么方法可以同样实现上述功能的,而不会受到打包的影响。想过参考spring的注解类的加载,但是水平不够。有没有大哥能帮上忙的?
http://computer.uoh.edu.cn/java/770_2.html
http://blog.csdn.net/bao19901210/article/details/17201173
打包的时候:
勾上Options: Add directory entries
这样spring就可以扫到了。
同时需要用到的配置文件需要引用绝对路径。
不清楚,我也在研究这个问题,用JarFile,通过System.getProperty("java.class.path")获取自身路径,如果是jar则通过jarFile解析,否则普通文件方式解析,不知道这样行不行