Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

euMesmo2

Problema com o metodo getResource()

Recommended Posts

Pessoal, estou desenvolvendo uma aplicação em java no eclipse.

Venho testando ela diretamente pelo botão "Run" da ide e funciona perfeitamente.

Mas quando exporto o programa num jar e tento executa-lo, recebo a seguinte excessão:

 

 

 

java.lang.NullPointerException
at interpreter.command.Command.<clinit>(Command.java:20)
at main.MainFrame.listCommands(MainFrame.java:78)
at main.MainFrame.main(MainFrame.java:99)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)

 

A linha em questão contem:
try {
			File dir = new File(Command.class.getResource("./").toURI());
			
			if (!dir.exists()) {
				throw new Exception();// TODO
			}
			for (File file : dir.listFiles()) {
			...

 

Alguem pode me dizer como corrigir isso?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta colocar na linha 20:

File dir = new File(MainFrame.class.getResource("").toURI());

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não creio que isto va corrigir o problema. Estive olhando pela internet parece que o problema não é o metodo getResource e sim a classe File que não trata arquivos compactados. Preciso utilizar outra API. Se alguem tiver alguma sugestão é de grande ajuda :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas o que tem a ver arquivos compactados com isso? Acho que não tem nada com isso. Você nem ao menos está tentando acessar um arquivo e sim uma pasta. E ao que tudo indica, a pasta raiz do seu projeto. Se for uma aplicação desktop local, creio que basta usar File file = new File("");

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.