jar包调用.properties|jar包调用.properties 文件

本地eclipse开发使用,可以正常使用
public static String getpath(String arg) {
String filepath = "";
//Properties prop = new Properties();
【jar包调用.properties|jar包调用.properties 文件】//String filename=arg;
//String filepath = "";
//InputStream in = null;
//try{
//in = Object.class.getClassLoader().getResourceAsStream("/system.properties");
//System.out.println(in);
//prop.load(in);
//Iterator it=prop.stringPropertyNames().iterator();
//System.out.println("读入的配置文件");
//while(it.hasNext()){
//String key = it.next();
//if(key.equals(filename)) {
//filepath = prop.getProperty(key).toString();
//break;
//}
//}
//}catch(Exception e){
//e.printStackTrace();
//}finally {
//if(in!=null)
//try {
//in.close();
//} catch (IOException e) {
//e.printStackTrace();
//}
//}
return filepath;
}
然而当打包成.jar部署到服务上时,无法获取system.properties文件,尝试了绝对路径相对路径方法都失败,最后才用另外一种
ResourceBundle rb = ResourceBundle.getBundle("system");
filepath = rb.getString(arg);
服务器上也可以调通了。
具体原因等搞清楚了再添加,目前先解决使用问题。
另外,使用maven管理jar包时,需要在pom文件中添加如下声明,否则无法将properties文件打包进jar包



src/main/resources

**/*.properties

false




    推荐阅读