Pergunta

Vamos assumir minhas aulas são carregados a partir de um arquivo .war compactado ou carregado em outro lugar, como posso descobrir todos os recursos em um determinado pacote? arquivos enumerando realmente não vai funcionar, uma vez que este é um arquivo de guerra. Muito provavelmente isso vai envolver usando o carregador de classe atual?

Existe uma biblioteca lá fora que faz algo assim? Googling revelou apenas alguns hacks com listagem de arquivos.

Foi útil?

Solução

Não, você não pode recursos de lista em um pacote porque a JVM simplesmente não sabe o que recursos estão em qual pacote. Consulte este pergunta .

Outras dicas

Sim. Você pode usar ClassLoader.getResources("");
Ou você pode usar API ferret:
https://www.ohloh.net/p/pureperfect-ferret

Esta API permite digitalizar o caminho da classe, bem como arquivos arbitrários e diretórios usando o padrão Visitor.

O Spring Framework oferece uma classe chamada PathMatchingResourcePatternResolver . Com esta classe você pode dar caminhos estilo Formiga com wildcards e vai encontrar os recursos relevantes para você (busca pelas pastas e frascos no classpath).

Eu faço isso: - antes da embalagem, ls myResources/*.ext > myResources/list.txt - em seguida, basta ler o arquivo primeiro

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top