문제

내 클래스가 압축 된 .war 파일에서로드되었거나 다른 곳에로드되었다고 가정하자. 주어진 패키지에서 모든 리소스를 어떻게 발견 할 수 있습니까? 전쟁 파일이기 때문에 파일을 열거하는 것은 실제로 작동하지 않습니다. 아마도 이것은 현재 클래스 로더를 사용하는 것이 포함될 것입니까?

그런 일을하는 도서관이 있습니까? 인터넷 검색은 나열된 파일이 포함 된 일부 해킹 만 공개했습니다.

도움이 되었습니까?

해결책

아니요, JVM은 단순히 어떤 패키지에 어떤 리소스가 있는지 모르기 때문에 패키지에 리소스를 나열 할 수 없습니다. 보다 이 질문.

다른 팁

예. 당신이 사용할 수있는 ClassLoader.getResources("");

또는 Ferret API를 사용할 수 있습니다.
https://www.ohloh.net/p/pureperfect-ferret

이 API를 사용하면 방문자 패턴을 사용하여 클래스 경로와 임의의 아카이브 및 디렉토리를 스캔 할 수 있습니다.

스프링 프레임 워크는 호출 된 클래스를 제공합니다 PathMatchingResourcePatternResolver. 이 클래스를 사용하면 Wildcards가있는 개미 스타일 경로를 제공 할 수 있으며 관련 리소스를 찾을 수 있습니다 (ClassPath의 폴더와 항아리를 통해 검색).

나는 이것을한다 : - 포장하기 전에, ls myResources/*.ext > myResources/list.txt- 먼저 파일을 읽으십시오

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top