Regarding backup: for me the export feature is not a backup tool. I might have several dozens of applications. To trigger some sort of export operation in every of them, even if script-based, would be too inconvenient for me. I'd want to be able to backup my user directory and be done. Bad enough I have to backup parts of Windows registry for some applications.
The problem with JAR is that, as far as I know, Java does not support modification of resources in JAR files. There might be some libraries to do it, but another problem is there: you'd have to pack the database file into JAR after every modification of that file, otherwise the JAR would contain outdated data and if your application crashed or power failure occurred before it got updated, users might lose changes that didn't make it into JAR file. Lots of hassle in my opinion.
Moreover, I understand you want to keep the db file close to your application's JAR file. Some years ago we were deploying application which had a default database stored next to a program (it was not a Java application and was Windows based, the db file was in Program Files subdirectory). Every upgrade was a nightmare: user had to manually back up the default database file, upgrade the application and then restore the database file, as a new one was deployed as part of the install procedure. A few databases were lost as users didn't do it this way and they didn't have backups, these incidents were very unpleasant. When we moved the database to be independent of the executables, it all became much simpler.
Even worse, in some environments (Windows with strict access controls) the OS might prevent you from modifying files in directories reserved for executables (ie. Program Files directory) as a protection measure. So if you manage to tightly couple the database with the JAR, you might run into problems of this kind. Also, if you have to digitally sign the JAR for any reason (Webstart,
applet), you obviously cannot modify it at all.
I don't say that the solution I suggest is the best, I only want to point out problems I've personally run into and that I think you'll also encounter with your approach.