[JAVA] 실행파일에서 Properties 경로 읽지 못하는 문제 해결방법
2020. 12. 27. 22:55ㆍError
728x90
[문제상황]
이클립스로 구동시에는 경로를 잘 받아왔는데, 해당 프로젝트 실행파일로 생성 후 실행해보니 Properties파일을 읽어오지 못하는 문제가 발생함.
[문제발생코드]
자바 실행파일 구동시 filePath 경로를 못 읽어와서 에러발생
public class ReadProperties {
private static String filePath = ".\\conf\\conf.properties";
public static String getPropString(String key) {
try{
FileInputStream fis = new FileInputStream(filePath);
Properties prop = new Properties();
prop.load(fis);
value = prop.getProperty(key);
fis.close();
}
catch (Exception e) {
System.out.println(e.toString());
logger.error(e.toString());
}
return "";
}
}
[해결코드]
getResourceAsStream()사용
new ReadProperties().getClass().getResourceAsStream(filePath) 사용하여 Properties파일을 읽어오니 이클립스에서도 정상적으로 실행되고, 실행파일에서도 정상적으로 실행됨.
public class ReadProperties {
private static String filePath = "/conf.properties";
public static String getPropString(String key) {
try{
Properties prop = new Properties();
prop.load(new ReadProperties().getClass().getResourceAsStream(filePath));
}
catch (Exception e) {
System.out.println(e.toString());
logger.error(e.toString());
}
return "";
}
}
728x90