做了一个jar包,为了方便管理在打包时加入了版本号
即:META-INF/MANIFEST.MF 文件中加入
Implementation-Version: 1.0.001
Specification-Version: 1.0.001
但是在web程序中
clazz.getPackage().getImplementationVersion()
clazz.getPackage().getSpecificationVersion()
取不到版本号。
最后发现,因为WEB-INF/classes 下面有相同的包名(clazz类在jar中),
默认情况下 clazz.getPackage(),优先取到class下面的包,所以无法获取版本号。
删除classes下面的包名即可取得版本号。