在开发阶段一直使用以下方式调试没有问题:


String path = KStream104.class.getResource("/").getFile().toString();
File database = new File(path + Constants.geoIPFile);

但是,打包编译后,放到linux环境下,发现报空指针错误,这里的getResource("/")不再起作用了,并且返回值为null。

后面采用了下面的方式:

	static {
String path = null;
try {
URL url = KStream104.class.getResource("/"); //获取当前用户的绝对路径
String userdir = System.getProperty("user.dir");
if(url!=null){ // 先判断url
path = url.getFile();
}
else if(StringUtils.isNotBlank(userdir)){ //再判断userdir
path = userdir.endsWith("/") ? userdir : userdir + "/";
} else { //否则为空
path = "";
}
System.out.println("path:" + path);
log.info(path + Constants.geoIPFile);
File database = new File(path + Constants.geoIPFile);
reader = new DatabaseReader.Builder(database).build(); } catch (IOException e) {
log.error(e.getMessage());
}
}

最新文章

  1. 基于小脚丫的ADC081S101 电压采集595数码管显示
  2. 文本框value联动修改
  3. Git下载Spring项目源码并编译为Eclipse
  4. 利用API自动建立GL科目段组合
  5. vim配置php开发环境
  6. java_字符
  7. PAT-乙级-1019. 数字黑洞 (20)
  8. poj1177Picture(线段树-周长并)
  9. java问题:类的定义,对象的定义?
  10. cat查看proc下文件帮助
  11. java 短信发送例子 2
  12. ArcGIS API for JavaScript 4.2学习笔记[22] 使用【QueryTask类】进行空间查询 / 弹窗样式
  13. Write your own operating system Day(1)
  14. 洛谷题解 P1138 【第k小整数】
  15. 【浅色】最强Win7 x64评测
  16. 1145.cn 百度MIP适配实例
  17. 安装Vue Devtools
  18. Mybatis-Plus 实战完整学习笔记(二)------环境搭建
  19. OpenCV学习笔记之课后习题练习2-3
  20. OCR 识别原理

热门文章

  1. java多线程(一)之继承Thread类
  2. cxf之生成客户端代码
  3. YACC、LEX、JAVACC-------常用的编译工具
  4. [译]流言终结者 —— SQL Server 是Sybase的产品而不是微软的
  5. GoogleMapsV3-----基础地图(自定义消息提示OverlayView) (转)
  6. SQL 语句递归查询 With AS 查找所有子节点
  7. 在windows下部署Redis 当作系统服务器自动启动
  8. MySQL的binlog日志恢复(转)
  9. 如何用 LaTeX 撰写博士学位论文?
  10. laravel 如何引入自己的函数或类库