[JAVA] 실행파일에서 Properties 경로 읽지 못하는 문제 해결방법

2020. 12. 27. 22:55Error

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 "";
	}
 }

 

 

 

 

참고 : m.blog.naver.com/PostView.nhn?blogId=0192141606&logNo=220329521191&proxyReferer=https:%2F%2Fwww.google.com%2F

728x90