Como listar arquivos dentro de um diretório embarcado em um jar?
Tenho um diretório com meus recursos. No Maven, ele fica no lugar tradicional: src/main/resources/
Dentro dele, tem um subdiretório com meus scripts (definido na configuração do Flyway). Por hora, estou configurando o Flyway desse jeito:
Flyway.configure()
.dataSource(ds)
.target(MigrationVersion.LATEST)
.baselineOnMigrate(true)
.locations("classpath:db")
.baselineVersion(MigrationVersion.fromVersion("0"))
.load().migrate();
Então, estou procurando pelo diretório db/ dentro de resources/.
Internamente, modifiquei o Flyway para ignorar o classpath: e tratar como device/. Isso significa que ele, na verdade, não procura dentro da pasta src/main/resources/db/, mas a nível de Java eu consegui contornar isso.
Porém, quando ocorre o processo de deploy, os arquivos dentro de src/main/resources/db/ são empacotados dentro do JAR gerado pela minha aplicação. E, agora, estou precisando listar esses arquivos.
Tem como eu listar os arquivos, dentro dos tczs gerados, que pertençam ao diretório db/?
O máximo que consegui vou o t.s.Vm.getFile(String), porém esse método me traz 2 problemas:
- eu preciso conhecer o nome do arquivo para chamar essa função
- ela me retorna apenas um vetor de bytes, quando eu preciso manipular arquivos através do objeto
t.i.File