Sistema Operacional: Linux Mint.
Enquanto estou no JDK Netbeans, eu faço uma busca no settings.xml por informações de conexão com o MySQL dentro da pasta lib que criei dentro do src. e tudo funciona perfeitamente.
Quando exporto o JAR para começar a usar a aplicação, copio o arquivo.xml para dentro da pasta lib e o erro que aparece é:
Não estou rodando a aplicação em /home …
Ele não deveria pegar o caminho relativo ao JAR?
Meu código está assim:
public Connection getConnect() throws JDOMException, IOException {
File f = new File("lib/settings.xml").getCanonicalFile();
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(f);
Element root = (Element) doc.getRootElement();
List grupo = root.getChildren("database");
Iterator i = grupo.iterator();
while (i.hasNext()) {
Element tag = (Element) i.next();
host = tag.getChildText("db_Host");
database = tag.getChildText("db_Database");
ssl = tag.getChildText("db_SSL");
username = tag.getChildText("db_Username");
password = tag.getChildText("db_Password");
}
url = "jdbc:mysql://" + host + "/" + database + "?useSSL=" + ssl;
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, username, password);
JOptionPane.showMessageDialog(null, "Conexao efetivada com exito.", "SUCESSO", 1);
return con;
} catch (SQLException | ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null, "Erro ao tentar conectar o Banco de Dados.\n\nMotivo:\n" + ex, "FALHA", 0);
return null;
}
}
Resumindo: não importa onde eu esteja executando o meu JAR. Ele SEMPRE vai procurar o XML dentro de /home/fabio. Como faço para corrigir isso?