有时候我们需要对某个包中的所有类进行扫描,我在测试环境中写好代码。打包在生产环境中运行就报错。大写的尴尬呀!
发现是因为打包后class 存在jar 中。对应的路径关系不正确。所有我们需要对当前类进行判断在何种情况下运行
URL url = BaseApplication.class.getResource("");
String protocol = url.getProtocol();
然后我们判断protocol
if("jar".equals(protocol)){
// jar 中
}else if("file".equals(protocol)){
// 非jar 中 (文件class 中)
}
url.getProtocol() 为获取对应URL 中的协议 关于协议可以百度了解一些