Properties.load NullPoint Exception

SignLCF 2012-08-04 05:16:54
----jar包内的代码----begin----
private void init() throws IOException{
private Properties setting;
InputStream in;
in = super.getClass().getClassLoader().getResourceAsStream("/SysConfig.properties");
setting = new Properties();
setting.load(in);
}
----end----

SysConfig.properties文件在src下的根目录,程序加载时这里报空指针。
这时一个web项目,同样的项目在别的机器上面运行的没有问题!
问题应该是读取不到SysConfig.properties配置文件。
我就想问下,读取配置文件位置是否和环境变量或者其他配置有影响???
...全文
307 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
老紫竹 2012-08-05
  • 打赏
  • 举报
回复
楼上正确,问题就在于那个根,也就是 / 到底是哪个目录。
MiceRice 2012-08-04
  • 打赏
  • 举报
回复
放在 WEB-INF/classes 其实就够了的。

安全起见,还是做个测试吧。

你写一个JSP,内容很简单,直接:
<%
System.out.println(this.getClass().getResourceAsStream("/SysConfig.properties"));
%>
然后测试下看看,至少要先确保这个资源查找是有效的,逐步缩小问题范围。
SignLCF 2012-08-04
  • 打赏
  • 举报
回复
properties文件不能打入jar包的,一个配置文件,有可能要修改的,就放在src下的根目录和WEB-FNF/classes下;
MiceRice 2012-08-04
  • 打赏
  • 举报
回复
是否确定该properties文件被打入了jar包,或者放进了WEB-INF/classes 目录?

设置CLASSPATH很容易:
set CLASSPATH=xxxxooo;%CLASSPATH%
确保其在Tomcat运行环境中。
SignLCF 2012-08-04
  • 打赏
  • 举报
回复
in = this.getClass().getResourceAsStream("/SysConfig.properties");
执行也是一样空指针。
SysConfig.properties文件在src根目录下,怎么能将它或则其所在包放入ClassPath中呢,谢谢!
MiceRice 2012-08-04
  • 打赏
  • 举报
回复
主要是跟ClassLoader装载级别有关。

建议楼主试试看:
in = this.getClass().getResourceAsStream("/SysConfig.properties");

最好能确保 this 这个类,跟SysConfig.properties是在同一个装载级别。



或者直接把 SysConfig.properties 文件或其所在包直接放入ClassPath中吧,提升其在ClassLoader中的级别。
数据集可视化效果见下方。 【数据集概况】 · 检测类别(中文):[火(fire)] · 训练集:2565 张 · 验证集:244 张 · 测试集:122 张 · 总计:2931 张 该数据集针对夜间道路环境中的火情检测需求,精准捕捉火源特征,为道路安全监控系统提供可靠的数据支持,具有显著的安全预警价值和实际应用意义。该数据集的训练集、验证集和测试集分别包含2565张、244张和122张图像,分布比例合理,能够有效支持模型的训练、验证和测试过程,确保模型性能的稳定性和可靠性。该数据集的标注工作严谨细致,火目标的边界框标注精准,与实际火源位置高度吻合,标注规范符合行业标准,为模型... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 58 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9537** mAP50-95 | 0.6455 Precision | 0.9156 Recall | 0.9168 train/box_loss | 1.0237 train/cls_loss | 0.5109 val/box_loss | 1.1818 val/cls_loss | 0.5480 【训练过程分析】 58 轮训练后 mAP50 达到 0.9537,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。但 mAP50-95 为 0.6455,和 mAP50 差距 0.31,定位精度仍有优化空间。 【模型性能评估】 Precision 0.9156、Recall 0.9168,精召双高,模型对火的检测能力强。 ...
可参考下方数据集可视化效果。 【数据集概况】 · 检测类别(中文):[底盘铭牌(Chassis)] · 训练集:3258 张 · 验证集:136 张 · 测试集:0 张 · 总计:3394 张 该数据集聚焦于工业制造与车辆检测场景中对汽车底盘铭牌的精准识别,涵盖多种品牌车辆(如通用、现代、日产、马自达等)在不同光照和污损条件下的铭牌图像。通过真实生产环境中的多样化样本采集,数据集有效支持了车辆身份验证、质量追溯及自动化检测系统的开发,具有显著的工程应用价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 34 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9649** mAP50-95 | 0.5292 Precision | 0.9019 Recall | 0.8783 train/box_loss | 1.2850 train/cls_loss | 0.7588 val/box_loss | 1.4612 val/cls_loss | 0.6408 【训练过程分析】 34 轮训练后 mAP50 达到 0.9649,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。但 mAP50-95 为 0.5292,和 mAP50 差距 0.44,定位精度仍有优化空间。 【模型性能评估】 Precision 0.9019、Recall 0.8783,精度高于召回,存在一定漏检。 【预测效果展示】 验证集预测效果较好,检测框基本准确覆盖底盘铭牌,置信度整体偏高。 【改进建议】 1. 增强难例挖掘:在大规...
代码下载链接: https://pan.quark.cn/s/a4b39357ea24 远程桌面管理工具 基于 MSTSC 连接 Windows 远程桌面,并对其进行封装实现管理多个远程桌面配置的小工具 关键字: 效果图如下: 效果-主界面 效果-打开远程连接 1、什么是 MSTSC (Microsoft terminal services client) ? 创建与终端服务器或其他远程计算机的连接,适用于 Windows XP 及以上的 Windows 操作系统 MSTSC 还有一种说法,Microsoft Telnet Screen Control ,即“微软远程桌面控制”。 PS. 相信对本项目感兴趣的朋友肯定熟悉下面微软的官方工具,本项目也是基于其 ActiveX 控件进行的封装,实现对远程桌面的管理与使用 MSTSC 2、赶紧来添加第一个远程桌面连接 ? 点击左下角的 来,开启 选项,起个 并 来添加您的一个父级(分组)节点,譬如 样例-添加父节点 再次点击点击左下角的 来新建您的第一个连接,假定您已熟悉 MSTSC 相关设置,那么下面这个配置也难不住您了 样例-添加子节点 样例-显示新增的配置 单击此方块即可连接服务器,请确保网络无阻哦,一般来说 MSTSC 能连上,本工具同样可以 样例-正在连接 样例-连接成功 好了,基本上您已经掌握如何使用此工具了 3、还有其他功能应用? 支持拖动页签头来改变其位置 (同时连接了多个远程可能会有些用) 当你不想打开远程桌面,而只想打开远程服务器上的某个程序时,请在 时填写需要启动程序的路径,如 ,如果该目录已配置到环境变量的 中,如本示例使用程序名 亦同 右击页面头会有菜单选项,比如可执行 操作,右击连接方块或分组...

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧