2014-06-22 7 views
3

저는 Play 2.2.2를 사용하고 있으며 동일한 병의 루트에서 XML 리소스를로드하려고하는 외부 jar가 있습니다. 그것은 System.class.getClassLoader().getResource("/Blabla.xml")을 사용합니다. Play에 ReloadableClassLoader 및 여러 부모 클래스의 이상한 계층 구조가 있기 때문에 실패합니다. 이 계층 구조에는 시스템 클래스 로더 나 확장 및 부트 스트랩 클래스 로더가 포함되지 않습니다.Play Framework 2의 시스템 클래스 로더

어떻게 가능합니까?

ClassLoader.getSystemClassLoader()를 사용하면 표준 클래스 로딩 계층 구조와 유사한 클래스 로더 계층 구조가 반환된다는 것을 알게되었습니다. 그러나 위에서 언급 한 외부 항아리를 건드리지 않고 System.class.getClassLoader().getResource("/Blabla.xml")을 작동시키는 것을 선호합니다.

System.class.getClassLoader().getResource("/Blabla.xml")을 표준 시스템 클래스 로더로 반환하려면 어떻게해야합니까?

답변

0

개발 모드에서 컴파일 - 재로드 메커니즘으로 인해 Play 클래스 로더 설정이 다소 복잡합니다. 보통 System.class.getClassLoader()을 사용하는 대신 built-in API methods을 사용하여 리소스 또는 클래스 로더에 연결할 수 있습니다.

관련 문제