You should try adding some code to autodetect which operating system is being run, and set OS-specific options appropriately.

For example, a class from one of my projects:
CODE
import java.lang.String;
public class SystemUtil
{
/**
* Some operating system constants are below.
* Just a few things to note...
*
* - The only ones I'm likely to be testing are Linux
* and (ugh) Windows.
*
* - I assume the Mac OS string returned by Java
* is referring to OS X and not any of it's earlier
* cousins.
*
* - Just some conventions that can make using
* these a bit easier. Unix-like OS's have odd
* constants. Unsupported is 0, so you can use
* our good friend the exclamation point in
* cond-statements.
*
* - Do not absolutely rely on these. I'm not sure
* why Java would lie, but IT MIGHT. Or who knows,
* maybe Microsoft will release "Windows Linux Edition"
* or something that will completely confuse this function.
* That would not be good.
*/
/** Integer constant for GNU/Linux. */
public static final int OS_LIN = 1;
/** Integer constant for Windows. */
public static final int OS_WIN = 2;
/** Integer constant for BSD. */
public static final int OS_BSD = 3;
/** Integer constant for Mac OS X. */
public static final int OS_MAC = 5;
/** Integer constant for Solaris. */
public static final int OS_SOL = 7;
/** Integer constant for an unsupported OS. */
public static final int OS_UNS = 0;
/**
* Try to determine which operating system we're in.
*
* @return A guess of which OS this is.
* @author Tom Arnold
*/
public static int getOS()
{
String prop = System.getProperty("os.name").toLowerCase();
if (prop.contains("linux"))
{
return OS_LIN;
}
else if (prop.contains("windows"))
{
return OS_WIN;
}
else if (prop.contains("bsd"))
{
return OS_BSD;
}
else if (prop.contains("solaris"))
{
return OS_SOL;
}
else if (prop.contains("mac"))
{
return OS_MAC;
}
else
{
return OS_UNS;
}
}
}