本地eclipse开发使用,可以正常使用
public static String getpath(String arg) {
String filepath = "";
// Properties prop = new 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<String> 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包
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>