• 이슈 >>> 로컬에서 프로퍼티로 빠져있는 값을 읽어오지 못함
    (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

+ Recent posts