I have almost finished creating my swing based application and I am considering packaging it as a .JAR file. However I am a little confused about certain aspects of what can and cannot be packaged. Currently when my application runs it reads it's configuration from a XML file (which may change), it reads icons for buttons from an images directory (and the user can change these from within the application), it plays sounds from .wav files, invokes javahelp, writes log files using log4j and runs jasperreports. Now that's a lot of external files, some of which I may want to write to (xml, logs etc). For the most part I think the external resources should remain external but I does my code know if a resource is part of the .JAR file or part of the file system.
Are the any special coding / signing considerations I need to take account of so that my packaged application can read and write to files.
I have more questions, but for the sake of clarity perhaps I had better keep this one brief.