Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

123
Visualizações
Leer archivos de BOOT-INF/classes

Tengo una aplicación Spring Boot con una carpeta de recursos de Java:

 src | main | resources | test | test1.json test2.json ...

En la carpeta de recursos hay archivos json. Puedo leer estos archivos dentro de mi IDE (IntelliJ). Pero como un archivo JAR compilado, obtengo excepciones Nullpointer .

Spring Boot copia los archivos en: BOOT-INF/classes/test ¿Es posible leer los archivos de recursos dentro de un archivo JAR? No sé los nombres de los archivos. Entonces, primero, tengo que obtener todos los nombres de archivo y leer cada archivo.

¿Alguien tiene alguna idea?

ACTUALIZAR

He intentado esto:

 Resources[] resources = applicationContext.getResources("classpath*:**/test/*.json");

Con eso obtengo todas las rutas de archivo. Pero eso necesita demasiado tiempo. E incluso si obtengo los nombres de los archivos, ¿cómo los leería?

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Esto realmente funciona usando un ResourcePatternResolver

 ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] resources = resolver.getResources("classpath*:test/*.json"); for(Resource r: resources) { InputStream inputStream = r.getInputStream(); File somethingFile = File.createTempFile(r.getFilename(), ".cxl"); try { FileUtils.copyInputStreamToFile(inputStream, somethingFile); } finally { IOUtils.closeQuietly(inputStream); } LicenseManager.setLicenseFile(somethingFile.getAbsolutePath()); log.info("File Path is " + somethingFile.getAbsolutePath()); }
about 4 years ago · Santiago Trujillo Relatório

0

La siguiente solución leerá los archivos en un mapa.

Aquí lees sus recursos:

 Resource[] resources = applicationContext.getResources("classpath*:test/*.json"); for (Resource r: resources) { processResource(r); }

Aquí tramitas tus recursos:

 // you need to add a dependency (if you don't have it already) for com.fasterxml.jackson.core:jackson-databind ObjectMapper mapper = new ObjectMapper(); private void processResource(Resource resource) { try { Map<String, Object> jsonMap = mapper.readValue(resource.getInputStream(), Map.class); // do stuffs with your jsoMap } catch(Exception e){ e.printStackTrace(); } } }
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda