2012-03-29 4 views
2

.properties 파일을 업데이트하려면 Apache Commons Configuration의 PropertiesConfiguration을 사용하고 있습니다. 내가 같은 코드를 사용하고 그러나 :PropertiesConfiguration을 사용할 때 어떤 문제가 있습니까?

incompatible types 
required: java.lang.Throwable 
found: org.apache.commons.configuration.ConfigurationException 

잘못 여기서 뭐하는거야 :

try { 
     PropertiesConfiguration properties = new PropertiesConfiguration("dao.properties"); 

    } catch (ConfigurationException ex) { 

    } 

이 오류는 무엇입니까? 처음으로 처음 사용하고 있습니다.

추신 : 비교적 동등하거나 더 우수한 라이브러리가 있습니까? .properties?

답변

4

호환되지 않는 버전의 라이브러리를 사용 중입니다. 시도 :

  • 공유지 구성-1.7
  • 평민 - 컬렉션 - 3.2.1
  • 평민 - 랭 2.6
  • 평민 로깅-1.1.1

그것은 작동 나를.

+0

나는 'collections','lang','logging' 라이브러리를'configuration-1.7'과 함께 포함시켜야합니까? – Asif

+0

@Asif 예, [런타임 종속성] (http://commons.apache.org/configuration/dependencies.html)을 참조하십시오. –

+0

예! 고맙습니다 .. – Asif

0

"dao.properties"에 대한 참조는 웹 서비스 환경에 코드를 배포하고 있음을 나타냅니다. 이 경우 웹 서비스가로드하는 라이브러리와 참조하는 라이브러리가 정확히 동일해야합니다 (적어도 동일한 버전). 차이점은 발생한 오류와 같은 오류를 일으킬 수 있습니다. webservice 클래스 로더는 앱의 클래스 로더에 의해로드 된 클래스와 다릅니다. 따라서 예외가 있습니다.

1

나는 똑같은 문제가 있었으며이 게시물은 내 날을 구했다.

Sergio가 언급 한 4 가지를 모두 추가하기 전에 commons-lang 라이브러리를 추가하기 만하면됩니다. 내 코드는 그 질문에서 언급 한 예제와 매우 비슷하게 보입니다. 그리고 나는이 두 라이브러리가 필요한 의존성을 만족시키는 것을 발견했습니다.

@Haroldo - 라이브러리 불일치가 맞습니다. 먼저 성공하지 못하면서 3.3을 시험해 보았다. commons-configuration-1.9와 commons-lang-2.6이 잘 작동하는지 확인했습니다.

@Asif - Apache 라이브러리의 추가 기능이 필요한 특별한 이유가 있습니까? 필자는 java.util.Properties 클래스가 대부분의 응용 프로그램에서 잘 작동하며 추가 라이브러리가 필요하지 않음을 발견했습니다. 물론, 반환 된 값으로 무엇을하고 있는지에 따라 다릅니다.

관련 문제