-
이슈 >>> 로컬에서 프로퍼티로 빠져있는 값을 읽어오지 못함
(ex. )
public final static String DEMO = PropertyHandler.getProperty("DEMO");
-
이유
1. 빌드 오류
2. 타겟 밑에 web.xml 읽지 못함
- 이번 에러는 이 중 두번째 이유였고,
[ERROR][2018/12/04 15:18:06] c.a.u.PropertyHandler [getProperty:41] [PropertyHandler] Could not find property 'DOMAIN'. 와 같은 에러 발생
-
해결
1. 해당 클래스에 BaseProcess 클래스를 상속 받음
2. 그래도 안되면 main문 안에 코드 입력(괄호는 프로젝트 위치)을 통해 로컬에서 해당 프로퍼티를 강제로 로드시킴
new ConfigLoader().loadConfigFile("C:/Users/Administrator/demo/target/demo-0.0.1-SNAPSHOT", "/WEB-INF/web.xml");
# 위와 같은 이슈는 저렇게 경로를 하드코딩하는거 말구
Spring Properties Annotation으로 표현해서 해결 가능
@Configuration
@PropertySource("classpath:foo.properties")
public class PropertiesWithJavaConfig {
//...
}
1. 위와 같은 클래스를 생성하여 위에 Configuration을 선언하고 PropertySource에는 프로퍼티의 경로를 적는다.
@Value( "${jdbc.url}" )
private String jdbcUrl;
2. 그럼 이렇게 @Value라는 간단한 표식으로 프로퍼티 사용 가능
'JAVA' 카테고리의 다른 글
로컬에서 maven package error (0) | 2019.04.06 |
---|