Estou com um problema que parece ser básico, mas que não sei resolver…
eu tenho
Filediretorio=newFile("src/itens/lib/");
E quando eu executo pelo netbeans nao tenho problema algum…
Porém quando eu construo o .jar e vou executar minha aplicação pelo .jar, ele da erro, como se esse caminho nao existisse…
Já tentei tirar o “src” do caminho mas tambem nao deu certo
Deve haver alguma maneira de resolver isso
Se alguém puder me ajudar
Ficaria muito grata
Você está usando um caminho relativo. Assim, se não houver uma subpasta chamada “src/itens/lib” abaixo daquela em que você executou o seu JAR, o programa vai falhar.
jLady
e como usar esse caminho relativo?
o problema eu sei… nao existe a pasta src…
mas se eu tiro tbm nao funciona…
como eu devo fazer entao?
=/
R
roger_rf
Experimente usar um caminho completo, em vez de um caminho relativo:
se eu for rodar esse .jar em outro lugar… o caminho muda…
não é?
e o objetivo desse jar é rodar em outro lugar…
R
roger_rf
Se você realmente não tiver como usar caminhos completos, use caminhos relativos e certifique-se de que os arquivos que você quer usar estão sempre disponíveis. No seu caso específico, você vai ter de se assegurar que a pasta a partir da qual você disparar seu arquivo JAR SEMPRE terá uma subpasta chamada “src/itens/lib”.
maior_abandonado
você não pode colocar o conteudo desta pasta lib dentro do seu jar?
A partir dai acessar o que precisa dentro do jar, ai onde quer que a pessoa levar o jar, a pasta de pré-requisito será levada junto…
jLady
entao… mas é exatamente aí q esta a minha duvida…
quando eu gero o jar ele cria o jar sem a “src”, porem se eu coloco no caminho sem “src” tambem nao funciona… entendeu?
File diretorio = new File("src/itens/lib/"); <<<<como está
File diretorio = new File("itens/lib/"); <<<como é o diretorio dentro do jar dps de compilado
porem se eu deixo o caminho assim nao funciona
drsmachado
Qual a estrutura dos diretórios do teu projeto?
jLady
maior_abandonado,
esse lib é um diretorio dentro do meu projeto
q seja itens/jaozinho
no meu codigo eu crio essa File desse diretorio pra saber quantos arquivos tem dentro… entendeu?
jLady
esse é pra chegar onde esta meu fonte
c:\Documents and Settings\ferrama\Desktop\Fuinha\projects\Teste\src\testebla
esse eh o caminho dentro do jar
c:\Documents and Settings\ferrama\Desktop\Teste.jar\testebla\
drsmachado
Talvez isto a ajude.
Bom, quando você instancia um objeto da classe File, precisa indicar o local onde este File está.
Se você passa uma String vazia (""), ele identifica o path como sendo o diretório atual onde a raiz se encontra.
A princípio, então, com a raiz é possível acessar qualquer coisa dentro dela:
publicclasstryit{publicstaticvoidmain(String[]args){//pego a raiz do projeto como um FileFilef=newFile("");//com o método getAbsolutePath() pego o caminho da raiz e incluo o restante a ser encontradoFileg=newFile(f.getAbsolutePath()+"\src\noite.java");Stringcam=f.getAbsolutePath();Stringcam1=g.getAbsolutePath();System.out.println(cam+"\n"+cam1);}}