java jar 发布 读取properties文件失败

(1)java jar 发布 读取properties文件失败
用 String path = Test.class.getResource("/").getPath();
获取根目录后+文件名读取失败,因此采用JarFile类读取


private static Connection getJdbcConnection() throws Exception{
Connection conn = null;
try {
logger.info("开始获取properties文件");
Properties properties = new Properties();
JarFile jarFile = new JarFile("PPFTest.jar");
ZipEntry zipEntry = jarFile.getEntry("jdbc.properties");
logger.info("获取zipEntry:"+zipEntry);
InputStream in = jarFile.getInputStream(zipEntry);
logger.info("读取到的文件" + in);
properties.load(in);
String jdbcUrl = properties.getProperty(MinaConstUtil.JDBC_JDBCURL);
logger.info("读取到的jdbcUrl :"+jdbcUrl);
String driverClass = properties.getProperty(MinaConstUtil.JDBC_DRIVERCLASS);
String username = properties.getProperty(MinaConstUtil.JDBC_USERNAME);
String password = properties.getProperty(MinaConstUtil.JDBC_PASSWORD);
Class.forName(driverClass);
logger.info("结束获取properties文件");
} catch (Exception e) {
logger.error("关闭数据库连接", e );
throw e;
}finally{
logger.info("关闭数据库连接");
}
return conn;
}



(2)java jar 打包发布 spring applicationContext.xml 找不到此文件

打包为runnable jar时 选择
copy required libraries into a sub-fold... 源码和jar 包分开打包

(3)cmd中运行 java -jar 文件乱码
1、工程项目采用字符编码 、preference workspace text file encoding 设置都应为utf-8
2、java -Dfile.encoding=utf-8 -jar 指定虚拟机编码
3、修改cmd 编码
chcp 65001 通过 chcp命令改变代码页,UTF-8的代码页为65001

命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值