<p>I'm writing a java app using eclipse which references a few external jars and requires some config files to be user accessable.</p>

<ol>
<li><p>What is the best way to package it up for deployment?</p></li>
<li><p>My understanding is that you cant put Jars inside another jar file, is this correct?</p></li>
<li><p>Can I keep my config files out of the jars and still reference them in the code? Or should the path to the config file be a command line argument?</p></li>
<li><p>Are there any third party plugins for eclipse to help make this easier? I'm using an ant build file at the moment but I'm not sure I know what I'm doing.</p></li>
<li><p>Is there an equivelent of the deployment projects in Visual studio, that will figure out everything you need and just make an installer? I've used install4j before, and it was powerful if no where near as automated as  .Net deployment projects.</p></li>
</ol>

<p>Cheers.</p>

Ant. It's not the best thing in the world, but it's standard, it's apache, and it works.
There's some good examples on the web how to make a simple build.xml for any, and it's got some features like the 'war' task that knows how to put all the basic stuff (classes, web.xml etc) in the jar file for you.
You can also tell it to pick up other config files and jars and it will happily do it.
It's also really smart about what to compile. You give it a directory, and it finds all the java files and builds them only if their classfile is out of date, so you get some of the traditional make functionality for free without much effort.