Carregando recursos de um JAR
Ao acessar recursos incorporados em um arquivo JAR, os desenvolvedores geralmente encontram uma discrepância entre o caminho do recurso obtido durante o IDE execução e ao executar a aplicação via JAR. No contexto do IDE, os recursos são acessados diretamente do sistema de arquivos, enquanto no ambiente JAR, o caminho fica adornado com o prefixo do arquivo (por exemplo, "jar:/root/app.jar!/").
Para resolver esse problema e manter um mecanismo de acesso a recursos consistente, siga os seguintes conselhos:
Utilize getResourceAsStream
Evite a tentação de carregar recursos usando FileInputStream ou abordagens semelhantes . Em vez disso, aproveite o método getResourceAsStream() para recuperar um recurso como um fluxo de entrada, a partir do qual os dados podem ser lidos convenientemente.
Evite acesso direto ao sistema de arquivos
Se o seu O código depende do acesso a recursos como arquivos únicos armazenados no sistema de arquivos, evite empacotar esses recursos em um arquivo JAR. Considere um arranjo alternativo, como mantê-los como arquivos separados.
Considere a extração temporária de arquivos
Como último recurso, você pode explorar uma solução hacky envolvendo as seguintes etapas :
Embora essa abordagem possa ser funcional, sua natureza aleatória sugere que ela deve ser empregada com cautela.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3