Que isso, estamos aqui pra ajudar mesmo.
Olha só, quando eu resolvi esse primeiro problema seu, logo em seguida eu teve esses exatos outros 2 problemas tbm hehe 
O que eu fiz foi o seguinte:
1 - Com algum plugin, como o FatJar do eclipse, vc gera um .jar com as libs descompactadas dentro, eu fiz isso com um pligin com do IntelliJ IDEA, mas pro eclipse vc consegue tbm.
2 - Cara vc não pode (até consegue com muuuuuita gambiarra) gravar nada dentro do .jar que esta rodando, o que eu fiz como alternativa foi grava esse properties, no direório do usuário que esta rodando o aplicativo:
public Object[] getConfiguracoes(){
Object[] o = new Object[2];
try {
File file;
FileInputStream fis;
Properties config = new Properties();
// le o arquivo
String home = System.getProperty("user.home") + "\\";
file = new File(home + ".arquivos.config");
if (!file.exists()){
FileWriter fw = new FileWriter(file);
fw.flush();
fw.close();
file = new File(home + ".arquivos.config");
}
fis = new FileInputStream(file);
config.load(fis);
o[0] = config;
o[1] = file;
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
return o;
}
Veja que esse Object[] ai é algo específico que eu precisei utilizar aqui pro meu aplicativo, o demais vc consegue usar ai no seu caso, sem nem alterar nada, só o nome do arquivo é claro… hehe
Ai vc pode colocar o retorno do metodo como um Propertie se quiser, e altera como no outro exemplo (problema 1) pra ele converter num propertie.

qualquer coisa é só gritar!