遇到这么一个问题,写的一个定时任务在本地项目可以正常启动,ANT或者MAVEN打成JAR包后,也可以正常启动,通过myeclipse导出的JAR包却无法正常扫描到JAR包内的类或者配置文件,解决办法就是,在myeclipse导出JAR包时,需要勾选 add directory entries 。如下图:
这样打出来的jar包,可以解决这个问题,在外围也可以扫描到jar包内用注解声明的bean或者其他类或者文件。如果没有勾上add directory entries,就不行了。
其原因,如下:
可以看到,勾选了add directory entries之后打出的jar包,多了路径的信息。这就是两种的区别。
所以,要记住,以后通过myeclipse导出jar包需要 勾选 add directory entries 。而ant或者maven等工具在打包过程中则会自动添加相关信息至
JAR包中。