Problema ao listar arquivos de um pacote usando JAR executavel

Olá,

Estou enfrentando um problema ao tentar listar os arquivos de um pacote específico em um aplicativo Java executado a partir de um JAR executável.

Eu tenho um pacote chamado com.impulsesquare.textures dentro do diretório src do meu projeto. Quando executo o aplicativo no ambiente de desenvolvimento (por exemplo, no Eclipse), consigo listar corretamente os arquivos desse pacote usando listFiles().

No entanto, quando empacoto o aplicativo em um JAR executável e tento executá-lo, não consigo mais listar os arquivos do pacote. O código parece não encontrar nenhum arquivo.

Eu segui as sugestões de outras respostas online e tentei usar getResourceAsStream() e JarFile para acessar os arquivos dentro do JAR, mas ainda não obtive sucesso.

Alguém já enfrentou um problema semelhante ao listar os arquivos de um pacote específico em um aplicativo executado a partir de um JAR executável? Existe alguma abordagem alternativa que eu possa tentar?

Qualquer ajuda ou sugestão será muito apreciada. Obrigado!
Codigo

files = directory.listFiles();
		if (files!=null) {
			//PERCORRE LISTA DE ARQUIVOS
			for (File file : files) {
				if (file.isFile() && file.getName().endsWith(".png")) {
					// PEGA O NOME DAS IMAGENS RESGATADAS
					String images_name = file.getName();
					// CRIA IMAGEM
					ImageIcon textures = new ImageIcon(getClass().getResource("/com/impulsesquare/textures/" + images_name));
					
					if (!images_name.contains("character")) {
						// REDIMENSIONA IMAGENS
						textures.setImage(textures.getImage().getScaledInstance(WIDTH_CELL, HEIGHT_CELL, Image.SCALE_SMOOTH));
					}
					// CRIA BLOCOS DE TEXTURA
					Cell texture_block = new Cell(textures, images_name.replace(".png", ""));
					
					texture_block.addMouseListener(new MouseAdapter() {
						public void mouseClicked(MouseEvent e) {
							clicktexture(texture_block);
						}
					});
					list_texture_blocks.add(texture_block);
					menu_textures.add(texture_block, BorderLayout.NORTH);
				}
			}
		}

Um JAR é um arquivo, não é uma pasta do sistema operacional, então você não vai conseguir ler o conteúdo dele com a classe File.
Você vai ter que usar um ZipInputStream para ler o conteúdo de seu JAR.