You can do this without using the classpath directive at the command line. How? Easy! Just write a launcher! Here’s the code:
/* Allow you to type "java QuickRunner" instead of "java -classpath foo.jar;bar.jar;. MyApp*/public class QuickRunner{ public static void main(String args[]) { try { String defaultClassPath =System.getProperty("java.class.path"); String fileSep = System.getProperty("file.separator"); String pathSep = System.getProperty("path.separator"); String currDir = "."; String beanJars = "foo.jar" + pathSep + "bar.jar; // _the jarfile needed by the application String myClassPath = currDir + pathSep + beanJars + _pathSep +defaultClassPath; String env[] = new String[1]; env[0] = "CLASSPATH=" + myClassPath; String command = "java MyApp"; Process p = Runtime.getRuntime().exec(command, env); new InputStreamMonitor(p.getInputStream()); new InputStreamMonitor(p.getErrorStream()); p.waitFor(); } catch(Exception e) { e.printStackTrace(); } }}