Estou com um problema que parece ser básico, mas que não sei resolver…
eu tenho
File diretorio = new File("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.
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”.
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
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:
public class tryit {
public static void main(String[] args){
//pego a raiz do projeto como um File
File f = new File("");
//com o método getAbsolutePath() pego o caminho da raiz e incluo o restante a ser encontrado
File g = new File(f.getAbsolutePath()+"\src\noite.java");
String cam = f.getAbsolutePath();
String cam1 = g.getAbsolutePath();
System.out.println(cam+"\n"+cam1);
}
}